RewriteRule相对于htaccess所在的子目录

时间:2014-01-18 04:32:31

标签: apache mod-rewrite

我有一个site子目录,其中包含.htaccess:

www.example.com/projA
/var/www/html/projA/.htaccess

我想将所有www.example.com/projA/*重定向到我/var/www/html/projA/index.php

的文件

我目前有以下工作:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /projA/index.php [L]

但由于我的.htaccess文件已经在projA文件夹中,有没有办法编写这个规则,所以我根本不需要引用projA?例如。如果基本路径可能相对于.htaccess位置,我只想指定:

RewriteRule . ./index.php [L]

我不想引用“projA”,因为它是一条可能经常变化的路径。

1 个答案:

答案 0 :(得分:0)

您可以通过将htaccess放入projA文件夹并在重写规则中使用相对路径来删除对projA的引用。 将你的htaccess放在/var/www/html/projA/.htaccess

RewriteEngine on
# enable the following line if you want to serve directories directly (without index.php)
#RewriteCond %{REQUEST_FILENAME} !-d
# enable the following line if you have any other files on you want to serve directly
#RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !=index.php

RewriteRule ^(.*)$ index.php/$1  [NC,QSA]