2011-12-15 3 views
0

У меня есть файл .htaccess в подкаталоге сайта, над которым я работаю. Он работает так, как я хочу, когда URL начинается с www, но если www отсутствует, он не работает..htaccess mod_rewrite работает только с www

RewriteEngine On 
RewriteBase /media 
RewriteRule ^([a-zA-Z0-9_\s\-]+)/?$ index.php?a=$1 [L] 
RewriteRule ^([a-zA-Z0-9_\s\-]+)/([a-zA-Z0-9_\s\-]+)$ index.php?a=$1&b=$2 [L] 

Если я прошу http://www.mysite.com/media/test, она работает, но http://mysite.com/media/test не делает. Что мне не хватает?

+0

Здесь должно быть что-то еще. Вы уверены, что www.mysite.com и mysite.com оба сопоставлены с одними и теми же каталогами в вашей конфигурации Apache? – AndrewR

ответ

1

Это не имеет ничего общего с вашими правилами перезаписи, это, вероятно, что-то делать с тем, как ваш DNS сконфигурирован.

Попробуйте выполнить ping оба домена: с и без «www».

Вот что я делаю: я могу настроить DNS так, что всес или без WWW перенаправляется к одному ПК:

DNS configuration

Тогда я обрабатывать все через конфигурацию ВХост:

<VirtualHost *> 

    ServerAdmin [email protected] 
    DocumentRoot "/web/htdocs/olivier/livrepizzas/dev/website" 

    ServerName livrepizzas.fr 
    ServerAlias *.livrepizzas.fr 
    ... 
    ... 
    ... 
</VirtualHost> 
0
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.website.com [NC] 
RewriteRule ^(.*) http://website.com%{REQUEST_URI} [R=permanent,QSA,L] 

Попробуйте что