别名目录中的 mod_rewrite 不起作用

别名目录中的 mod_rewrite 不起作用

我有一个 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

相关内容