漂亮的永久链接无法正常工作 Apache、Wordpress、Mod rewrite

漂亮的永久链接无法正常工作 Apache、Wordpress、Mod rewrite

我正在尝试更改 Wordpress 中的永久链接,因此 URL 改用帖子名称。

我尝试过直接修改 httpd.conf,如下所示,但 Apache 似乎无法解析 URL。我一直收到页面未找到的信息。

由于重写日志为空,我看不到任何重定向尝试。我尝试了几种已知可以在标签之外工作的重写条件,但日志仍然是空的。

<Directory "/var/www/user1/example.com/public_html">

    Options +Indexes FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from All

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

</Directory>

似乎 RewriteRule 和 RewriteCond 在放置在标签中时不起作用,因为当我将这些指令移出标签时,apache 确实可以正确解析 URL,并且页面确实有一些内容。但是,显示的页面不再具有任何结构;似乎某些 css 文件未加载或执行的重写可能不正确。

另外,我还检查了重写日志,发现参数 RewriteBase 在请求中传递时没有执行任何操作:

110.175.55.89 - - [28/Jun/2014:15:52:00 +1000] [dev.ebizimate.com/sid#7f6cbbab7738 [rid#7f6cbbd07c38/initial] (2) init rewrite engine with requested uri /blog/
110.175.55.89 - - [28/Jun/2014:15:52:00 +1000] [dev.ebizimate.com/sid#7f6cbbab7738][rid#7f6cbbd07c38/initial] (1) pass through /blog/

任何帮助都将不胜感激。谢谢。

答案1

规则不适用的原因似乎是选项在标签中。/var/www/ 是 /home 目录的符号链接,并且是该选项的结果关注符号链接由于设置不正确,某些内容没有加载或者根本没有加载(取决于重写条件/规则的位置)。

从阅读 Apache 文档中允许的选项来看,您必须指定 + 或 - :

注意:将带有 + 或 - 的选项与不带有 + 或 - 的选项混合使用不是有效语法,并且会在服务器启动期间通过语法检查被拒绝并中止。

因此我需要修改以下条目:

选项 +索引 +FollowSymLinks +ExecCGI

更多信息请点击这里:http://httpd.apache.org/docs/trunk/mod/core.html#options

相关内容