2

我有一个 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 。

你有我做错的队列吗?

非常感谢。

4

1 回答 1

0

你可以试试这个看看是否有帮助。

下载您的 .htaccess 副本,然后在执行此操作后删除服务器上的副本,转到设置 - >永久链接并更改为默认值,或者如果默认更改为另一个并保存,然后更改回默认值并保存,然后在您完成此操作后改回自定义或邮政名或您想使用的名称。

这会生成一个新的 .htaccess 文件,如果出现问题,有时可以更正旧文件。我也有一个 php.ini 文件,但从未见过这个问题,但我从未创建过 php 类别。

祝你好运!

于 2014-12-07T18:02:36.310 回答