Rewrite

具有重寫功能的 Apache php 應用程序,用於在 /mydir 上提供獨立文件

  • July 13, 2017

我已經在我的 apache 伺服器的 / 路徑上安裝了一個 php 應用程序(dokuwiki),但我希望在某些 /mydir 路徑上提供一些不同的文件(我的意思是與來自 dokuwiki 的文件不同的文件)。

目前,/mydir 只是在我的 dokuwiki 安裝中彈出一個不存在的頁面,但我希望在此處提供與 dokuwiki 內容截然不同的內容。

我在 /var/web/dokuwiki 的伺服器上安裝了 dokuwiki 並且我希望在 /var/www/mydir 上提供我的文件

有沒有辦法配置 Apache 來提供我的文件而不干擾 dokuwiki,反之亦然?

目前的 dokuwiki 重寫規則在 .htaccess 上生效:

## Enable this to restrict editing to logged in users only

# You should disable Indexes and MultiViews either here or in the
# global config. Symlinks maybe needed for URL rewriting.
Options -Indexes -MultiViews +FollowSymLinks

# make sure nobody gets the htaccess, README, COPYING or VERSION files
<Files ~ "^([\._]ht|README$|VERSION$|COPYING$)">
   Order allow,deny
   Deny from all
</Files>

# Uncomment these rules if you want to have nice URLs using
# $conf['userewrite'] = 1 - not needed for rewrite mode 2
RewriteEngine on

RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
RewriteRule ^index.php$               doku.php

# Not all installations will require the following line.  If you do,
# change "/dokuwiki" to the path to your dokuwiki directory relative
# to your document root.
RewriteBase /

# If you enable DokuWikis XML-RPC interface, you should consider to
# restrict access to it over HTTPS only! Uncomment the following two
# rules if your server setup allows HTTPS.
RewriteCond %{HTTPS} !=on
RewriteRule ^lib/exe/xmlrpc.php$      https://%{SERVER_NAME}%{REQUEST_URI [L,R=301]

一個簡單的Alias /mydir/ /var/www/mydir/呢?您可能需要一個指令來允許訪問/var/www/mydir,否則這將起作用。您甚至可以將您的別名放入網路伺服器配置中,這樣您就不必干擾您的 wiki 安裝。

引用自:https://serverfault.com/questions/861401