![别名目录中的 mod_rewrite 不起作用](https://linux22.com/image/592716/%E5%88%AB%E5%90%8D%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%20mod_rewrite%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有一个 wp 博客,位于 /var/www/mysite.com/blog 下,可通过 www.mysite.com/blog 访问
当访问 www.mysite.com/blog/ 时,我看到了索引页,但子目录上的所有链接不再起作用,例如:www.mysite.com/blog/my-great-article 正在抛出(apache 日志):
File does not exist: /var/www/mysite.com/web/blog/my-great-article,
referer: http://www.mysite.com/blog/
虚拟主机:
Alias /blog "/var/www/mysite.com/web/blog"
<Location "/blog">
Allow from all
AddType application/x-httpd-php php php4 php3 html htm
</Location>
/blog 目录中的 .htacess:
# BEGIN WordPress
<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>
# END WordPress
我该如何修复它?
答案1
我遇到了同样的问题,对我有帮助的是RewriteBase
在域别名根目录的 .htaccess 中添加
RewriteBase /blog
省略尾部斜杠,并在 RewriteRule 中引用index.php
而不是/blog/index.php