virtualhost не будет перенаправлять - PullRequest
1 голос
/ 18 ноября 2011

Вот клип моего файла виртуального хоста:

  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 голосов
/ 18 ноября 2011

Работает ли правило, если вы удалите / из шаблона совпадения?

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

Если запрос к http://domain.com без конечного /, то правило какВы написали это с ведущей /, возможно, не совпадает.Или, mod_rewrite может удалить ведущий /, так как у вас есть RewriteBase / в контексте <Directory>.Это то, о чем говорит RewriteRule docs (поле «Что соответствует?»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...