.htaccess mod_rewrite работает только с www - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть файл .htaccess в подкаталоге сайта, над которым я работаю.Он работает, как я хочу, когда URL начинается с www, но если 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 нет.Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

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

Попытайтесь пропинговать оба домена: с и без 'www'.

Вот что я делаю: я настраиваю свой DNS так, чтобы все с или без www перенаправлялось на один и тот же ПК:

DNS configuration

Затем я обрабатываю все через конфигурацию vhost:

<VirtualHost *>

    ServerAdmin webmaster@livrepizzas.fr
    DocumentRoot "/web/htdocs/olivier/livrepizzas/dev/website"

    ServerName livrepizzas.fr
    ServerAlias *.livrepizzas.fr
    ...
    ...
    ...
</VirtualHost>
0 голосов
/ 15 декабря 2011
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.website.com [NC]
RewriteRule ^(.*) http://website.com%{REQUEST_URI} [R=permanent,QSA,L]

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

...