重写另一个目录中的文件

时间:2014-02-10 10:42:48

标签: apache .htaccess mod-rewrite

我有一个名为anubhava的社区成员的代码:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (mozilla|navigator|chrome) [NC]
RewriteRule ^((?!newplace/).*)$ /newplace/$1 [L,NC]

问题 - 上面的代码如果是在public_html中,那么从哪里获取文件的目录在第一行(public_html / newplace)问题是如果你想把.htaccess文件放在较低级别的目录例子中:first / second / newplace /如果你把.htaccess放在第二个目录中它就行不通了......任何想法。

1 个答案:

答案 0 :(得分:0)

您可以在子目录中使用此代码:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (mozilla|navigator|chrome) [NC]
RewriteRule ^((?!newplace/).*)$ newplace/$1 [L,NC]

或者使用动态RewriteBase

RewriteEngine On

RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^ - [E=BASE:%1]

RewriteCond %{HTTP_USER_AGENT} (mozilla|navigator|chrome) [NC]
RewriteRule ^((?!newplace/).*)$ %{ENV:BASE}newplace/$1 [L,NC]