我有一个wp博客,我有一些类别,页面,帖子等等。这是URL架构:
mysite的/类别/ CATEGORY_NAME
mysite的/ CATEGORY_NAME / POST_NAME
一切正常,但现在我遇到一个名为“php”的新类别的问题:
在WP根目录下,有一个名为“php.ini”的文件,我注意到该文件是由我的托管服务提供商自动创建的,以允许在网站上设置自定义php指令。
现在的问题是,所有以/ php / what开头的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。
你有一个我正在做错的队列吗?
非常感谢。
答案 0 :(得分:0)
你可以尝试一下,看它是否有帮助。
下载.htaccess的副本,然后在执行此操作后删除服务器上的那个 - >&gt;永久链接并更改为默认值或默认情况下更改为另一个并保存然后更改回默认值并保存,并在完成此更改后返回自定义或后缀或您要使用的内容。
这会生成一个新的.htaccess文件,如果出现问题,有时可以更正旧文件。我也有一个php.ini文件,从未见过这个问题,但后来我从未制作过php类。
祝你好运!