virtualhost不会重定向

时间:2011-11-18 13:44:39

标签: redirect apache2 virtualhost

这是我的虚拟主机文件的剪辑:

  SeverName domain.com
  ServerAlias www.domain.com

  <Directory />
     Options -Indexes +FollowSymlinks
     RewriteEngine On
     RewriteCond %{HTTP_HOST} ^[^\./]+\.[^\./]+$ [NC]
     RewriteRule ^/(.*)$ http://www.domain.com/$1 [R=301,L]
     RewriteBase /
     RewriteRule ^index\.php$ - [L]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . archive.php [L]
  </Directory>

domain.com不会重定向到www.domain.com。

下面的部分工作正常,将页面重定向到archive.php。

1 个答案:

答案 0 :(得分:0)

如果从匹配模式中删除/,规则是否有效?

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

如果请求是http://domain.com而没有结尾/,那么您使用前导/编写的规则可能不匹配。或者,mod_rewrite可能会移除前导/,因为您在RewriteBase /上下文中有<Directory>。这就是RewriteRule docs(“匹配什么?”框)似乎在说什么。