我有一个 wp 博客,其中有一些类别、页面、帖子等。这是 URL 架构:
我的站点/类别/类别名称
mysite/category_name/post_name
一切正常,但现在我面临一个名为“php”的新类别的问题:
在 WP 根目录上,有一个名为“php.ini”的文件,我注意到它是由我的托管服务提供商自动创建的,以允许在网站上设置自定义 php 指令。
问题是现在所有以 /php/whatever 开头的 url 都返回 404 错误。
这是 .htaccess 内容:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#some redirects from renamed posts...
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我认为问题出在这种情况下:RewriteCond %{REQUEST_FILENAME} !-f
,因为如果我重命名 php.ini 文件,一切正常。我认为如果 url 以 php/ 开头并且文件 php.ini 存在,它不会处理规则,因为条件不正确,即使 url 实际上并未请求文件。
我尝试添加一些解决方法,例如:
RewriteRule ^php/(.*)$ /index.php [L]
但它不起作用。我已经尝试了几种方法,但我一定做错了什么,因为我总是收到 404 错误。似乎我设置的规则没有被执行,可能是如果不满足正则表达式。此外,我尝试使用如下非静态文件扩展名重定向所有请愿书:
RewriteRule \.(gif|jpg|jpeg|jpe|png|css|js)$ /index.php [L]
这实际上有效,但是例如我无法访问 wp-admin 。
你有我做错的队列吗?
非常感谢。