从.htaccess规则中排除wordpress

时间:2014-01-12 15:48:45

标签: wordpress apache .htaccess mod-rewrite

我有一个测试网站,其中有一个测试目录让我们说'test'包含wordpress目录让我们说'mywordpress',测试和他的内容 - 不包括mywordpress - 由它自己的.htaccess处理 - 我需要。 htaccess对mydomain.com/test/mywordpressXX(XX可以是“/”或“/任何......”

的网址不做任何处理

我已经尝试了一些东西,但是这个.htaccess仍然适用于测试内容,但在我尝试联系WP管理员时会抛出内部500错误:

RewriteEngine On
RewriteBase /test/

DirectorySlash On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)$ $1/ [R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/mywordpress/?$
RewriteRule ^([^/?]+)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/mywordpress/?$
RewriteRule ^([^/?]*)/([^/?]*)$ $1.php?$1=$2

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/mywordpress/?$
RewriteRule ^([^/?]*)/([^/?]*)/([^/?]*)$ $1.php?$2=$3

我做错了什么?或者它是如何正确完成的?

感谢。

2 个答案:

答案 0 :(得分:1)

试试这个.htaccess:

DirectorySlash On

RewriteEngine On
RewriteBase /test/

RewriteRule ^mywordpress(/|$) - [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ $1/ [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ $1.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]*)/?$ $1.php?$1=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]*)/?$ $1.php?$2=$3 [L,QSA]

答案 1 :(得分:0)

哦,哦!傻我!我忘记了RewriteBase / test /你只需要这样做排除规则:

RewriteCond %{REQUEST_URI} !mywordpress/?$

还有一个斜线:

<德尔> RewriteCond %{REQUEST_URI} !/mywordpress/?$