【问题标题】:404 due to WordPress mod_rewrite rule?404 由于 WordPress mod_rewrite 规则?
【发布时间】:2013-01-21 21:39:40
【问题描述】:

客户将 WordPress 安装添加到他们的文档根目录。之后一个非 WordPress 目录给出了 404。

在浏览器中,您可以毫无问题地访问/foo/facebook/index.php,但如果您尝试访问/foo_admin/index.php,则会得到 WordPress 404 页面。 Wordpress 位于 / 中(由于杂乱,此处未显示)。

这是 doc 根目录的整个 .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

编辑:

刚刚意识到 /gcb_admin 中的基本身份验证 .htaccess 以某种方式干扰。现在已经尝试在基本身份验证指令之前和之后添加 RewriteEngine ,但这没有任何改变。删除基本身份验证指令允许访问文件...

AuthUserFile /home/foof/.htpasswd
AuthName "FOO Admin"
AuthType Basic

<Limit GET>
        require valid-user
</Limit>

RewriteEngine off

我该如何纠正这个问题?

【问题讨论】:

  • 不清楚 WP 安装在哪里或 .htaccess 文件在哪里,这些目录树似乎都不是 WP。但是,看起来RewriteBase 路径不是根路径,应该更改。
  • 您是对的,根据 matthewpavkov,我将最后一行更改为 RewriteRule ./ /index.php [L] 并解决了问题。谢谢!

标签: wordpress .htaccess mod-rewrite


【解决方案1】:

试试这个解决方案 - 本质上,它只是关闭特定目录中的重写引擎:

http://wordpress.org/support/topic/exclude-directories-from-wp-rewrite

.htaccess 文件添加到您希望 Wordpress 重写忽略的目录中,使用以下代码:

RewriteEngine off

或者,尝试更改最后一行:

RewriteRule ./ /index.php [L]

【讨论】:

  • 将 WP RewriteRule 的最后一行更改为 RewriteRule ./ /index.php [L] 解决了该问题。谢谢!您介意解释一下该语法的作用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多