Apache Mod重写规则以跳过子目录

Apache Mod重写规则以跳过子目录,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我在一个网站的根目录中有一个应用程序,它有自己的apache2 mod重写规则,例如 RewriteRule ^/([^/]*)/([^/]*)/$ /index.php?page=$1&var1=$2 RewriteRule ^/([^/]*)/$ /index.php?page=$1 这很好,但是现在我想在子目录/blog中安装Wordpress。Wordpress当然在.htacess文件中有自己的重写语句,可以为博客重写不同的URL 如何让root.htaccess

我在一个网站的根目录中有一个应用程序,它有自己的apache2 mod重写规则,例如

   RewriteRule ^/([^/]*)/([^/]*)/$ /index.php?page=$1&var1=$2
   RewriteRule ^/([^/]*)/$ /index.php?page=$1
这很好,但是现在我想在子目录/blog中安装Wordpress。Wordpress当然在.htacess文件中有自己的重写语句,可以为博客重写不同的URL


如何让root.htaccess文件跳过/blog/目录,并允许本地.htaccess mod rewrite在浏览blog目录时仍能工作。

您只需在第一个htaccess中执行一个否定操作,如

RewriteCond %{REQUEST_FILENAME} !^/blog/.*$

这应该可以做到——希望如此!作为规则的先决条件,您只需在第一次访问时执行一个否定,如

RewriteCond %{REQUEST_FILENAME} !^/blog/.*$

这应该可以做到——希望如此!作为规则的先决条件,请在文档根目录下的.htaccess中使用以下代码:

RewriteRule ^blog/ - [L]

RewriteRule ^/([^/]*)/([^/]*)/$ index.php?page=$1&var1=$2 [L,QSA]
RewriteRule ^/([^/]*)/$ index.php?page=$1 [L,QSA]

在文档根目录下的.htaccess中使用以下代码:

RewriteRule ^blog/ - [L]

RewriteRule ^/([^/]*)/([^/]*)/$ index.php?page=$1&var1=$2 [L,QSA]
RewriteRule ^/([^/]*)/$ index.php?page=$1 [L,QSA]

那么这不会忽略博客目录中wordpress的规则吗?不会,因为此忽略仅在当前有效。htaccess这不会忽略博客目录中wordpress的规则吗?不会,因为此忽略仅在当前有效。htaccess