【问题标题】:WordPress not working with .htaccessWordPress 不适用于 .htaccess
【发布时间】:2015-01-06 12:50:58
【问题描述】:

已经在家里到处找这个了 - 已经阅读了许多 htaccess 问题等 - 但似乎仍然无法让它发挥作用。

我在var/www 安装了一个 WordPress 网站

我想让一个特定的 URL 指向一个特定的页面。从浏览一些 WordPress 插件开始。它们都不起作用,所以我直接找到源代码并开始编辑 WordPress 安装根目录中的 .htaccess 文件。这就是它开始令人沮丧的地方。

.htaccess 文件的众多尝试之一:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
Redirect 301 /redirect-me http://my-wordpress-site/?page_id=15
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

所有重定向尝试都导致 404 Not Found 错误。

我已经断言了以下几点:

  • Apache2 重写模块已启用
  • www-data.htaccess 文件具有读写权限。
  • AllowOverride 在目录的apache2.conf 文件中设置为All

这里有一个重要线索:在我的 .htaccess 文件中交换最后一个 ReWrite 规则对我的 WordPress 网站完全没有任何作用...

RewriteRule . /poo.php [L]

对于调试失败的.htaccess 文件还有其他建议吗?

【问题讨论】:

  • 您可以访问 Apache 安装的错误日志吗?
  • 令我惊讶的是,当您替换 WP 的主要规则时,没有任何变化。你确定这是 WP 使用的那个吗?
  • @JustinIurman 这也是让我感到惊讶的地方。到那时,调试非常绝望。当您说 WordPress 使用“使用”时,如果您的意思是:WordPress 推荐的默认重写规则,那么是的。但它显然根本没有被“使用”。
  • @vicvicvic 不幸的是,服务器日志的权限非常严格。
  • 抱歉,我的意思是 used(由 服务器 执行)(htaccess 已启用并位于好文件夹中)。你说:Apache2 Rewrite Module is enabled。但我认为事实并非如此。这可以解释为什么 Redirect 不会发生(如果由于 IfModule 条件而启用了 mod_rewrite,您的代码将执行)。要对其进行测试,请尝试将 Redirect 301 line outside of IfModule block condition

标签: php wordpress apache .htaccess mod-rewrite


【解决方案1】:

当您在配置中进行配置更改(例如AllowOverride)时,请确保在 Apache2 上重新启动以使更改生效。试一试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 2015-11-10
    相关资源
    最近更新 更多