我在一个名为app
在我的Wordpress安装中,我需要禁用该文件夹及其内容的所有Wordpress重写规则。所以当我去www.domain.com/app
我得到了我的应用程序页面,而不是标准的Wordpress 404页面。
我知道这是非常基本的apache重写规则,我搜索了这个,尝试了一些东西,但效果不好。
差点忘了,我只需要编辑Wordpress htaccess文件就可以了。该应用程序有自己的htaccess文件。
谢谢
EDIT: htaccess content
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
EDIT: Application htaccess
DirectoryIndex index.php
<FilesMatch "\\.(php|inc)$">
Order allow,deny
deny from all
</FilesMatch>
<FilesMatch "(index.php|download.php)$">
Order allow,deny
allow from all
</FilesMatch>
这些规则没有多大作用,它们基本上拒绝访问所有
PHP
和
INC
文件类型,除了
index.php
和
download.php
. 哪些是用户需要访问的,其余的是内部使用的类
PHP
.
EDIT 3: Resolution:
事实证明,Wordpress没有什么问题
htaccess
或者应用程序在远程托管服务器上打开错误报告后,PHP报告了一个损坏的文件,一旦被替换,所有文件都开始正常工作。我的感谢
Wietse Venema 对于建议。
最合适的回答,由SO网友:Wietse Venema 整理而成
默认值。htaccess文件已经支持您想要的行为;
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
神奇之处在于以
RewriteCond。他们指示Apache应用该规则
RewriteRule . /index.php [L]
(这意味着“任何URL都将转到index.php”),仅当URL不是现有文件时
!-f
或现有目录
!-d
.
因此,这在默认情况下应该是可行的。当您尝试访问现有文件时,Wordpress重写规则不适用。