我正在尝试更改 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