要求现有的文件时,与WordPress的mod_rewrite的规则问题(Problems with

2019-09-26 18:40发布

请看看我的.htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

WordPress的正常工作。

但我有一个问题:我有一个叫目录,用于交换链接,无关与WordPress的博客。 现在,我无法访问我的LO目录,它重定向我到WordPress的帖子。 为什么?

Answer 1:

难道/lo/DirectoryIndex/lo/index.php

如果是这样,假设你的答案佩卡的问题是“是的”,问题可能从第四起源RewriteRule 。 的请求/lo/映射到/lo/index.php ,它匹配

RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

...和被改写为index.php在站点根,这是WordPress的文件。 我不知道这条规则的要点是什么(它阻止访问WordPress的.php文件,但在那种超一般的方式),所以我不知道什么是最好的建议是什么条件,但以下将工作:

RewriteCond %{REQUEST_URI} !^/lo
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]


文章来源: Problems with Wordpress’ mod_rewrite rules when requesting existing files