Apache - больше не может использовать mod_rewrite после добавления виртуального каталога - PullRequest
2 голосов
/ 26 октября 2011

Мой сервер apache настроен с очень простой конфигурацией.Раньше я обслуживал только один веб-сайт от Apache, назовем его example.com.В файле httpd.conf у меня был некоторый код, чтобы веб-сайт всегда показывал www в URL.

Недавно я добавил поддомен для сайта blog.example.com.Для этого мне нужно было создать две директивы виртуального каталога в моем файле httpd.conf.

NameVirtualHost *:80
<VirtualHost *:80>
 ServerName example.com
 DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
 ServerName blog.example.com
 DocumentRoot /var/www/blog
</VirtualHost>

Сразу после этого я сохранил свой код перезаписи:

RewriteEngine On
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.example.com/$1 [L,R]

Проблемаявляется то, что после добавления кода виртуального каталога код перезаписи больше не работает.Я попытался создать следующую директиву Directory, которая, похоже, не работает вообще.

<Directory "/var/www/html">
 Options Indexes MultiViews FollowSymLinks
 Order Deny,Allow
 Allow from all
 AllowOverride All
</Directory>

Кроме того, я попытался создать файл .htaccess в папке html на сайте и перезапустить apache, но ничего, чтоЯ положил туда, что меня замечают.

Любая помощь очень ценится.Спасибо!

1 Ответ

0 голосов
/ 29 октября 2011

Ответ на комментарий оригинального автора:

Хорошо, я понял это.Мне просто нужно было переместить логику перезаписи в директивы начала и конца.Спасибо за помощь @animuson.- Генри Уинклер

...