我有这些工作重写规则:
# Allow access to assets folder from plugins folders
RewriteRule ^app/plugins/(.+)/assets - [L]
# forbid access to files and folders under app
RewriteRule ^app/.*$ - [L,F]
# rewrite to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA]
现在我想从这些规则中排除位于http://www.mywebsite.com/wordpress/下的所有内容...... 因此我添加了一个新的重写条件:
...
# rewrite to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^\/wordpress\/ [NC]
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA]
但它不起作用。当我尝试访问这样的东西时: http://www.mywebsite.com/wordpress/contact-us/
它将我重定向到index.php ...
任何帮助都会非常感激。
答案 0 :(得分:1)
好的,我终于找到了所有这些出了什么问题: 实际上我没注意到我的/ wordpress目录中存在.htaccess文件。 因此,在我的根目录的.htaccess中,我已将此规则添加到所有其他目录之上:
RewriteRule ^wordpress - [L]
然后在wordpress目录的.htaccess中我有这些规则:
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
我不知道是否所有内容都已经过优化但是有效!
答案 1 :(得分:0)
试试这个:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/wordpress/ [NC]
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA]