现有文件的Wordpress htaccess问题


Wordpress htaccess issue with existing file

我有一个wp博客,里面有一些分类,页面,帖子等等。这是URL模式:

mysite/类别/category_name

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。

你知道我做错了什么吗?

您可以尝试一下,看看是否有帮助。

下载一份你的。htaccess的副本,然后删除服务器上的一个,在这样做之后,去settings -> permalink并更改为默认值,或者如果在默认值上更改为另一个并保存,然后更改回默认值并保存,在你完成此更改后,返回到自定义或postname或你想使用的。

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

祝你好运!