.htaccess переписать правила для www.example.com и example.com -> this.example.com - PullRequest
0 голосов
/ 14 мая 2011

Я бы хотел, чтобы мой сайт перенаправлял весь трафик с www.example.com и example.com или что-нибудь изelelse.example.com на this.example.com Это то, что есть в моем файле .htaccess. который находится в /www/example.com/public_html каталоге

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://this.example.com/ [R=301,L]

Это работает, когда я захожу на this.example.com, но когда я захожу на http://example.com, он перенаправляет меня на example.com/public_html, а www.example.com вообще не перенаправляет! Однако this.example.com работает. Это мой виртуальный хост:

<VirtualHost 12.34.56.78:80>
 ServerAdmin webmaster@example.com
 ServerName example.com
 ServerAlias this.example.com
 ServerAlias www.example.com
 DocumentRoot /srv/www/example.com/public_html/
 ErrorLog /srv/www/example.com/logs/error.log
 CustomLog /srv/www/example.com/logs/access.log combined
</VirtualHost>

Я заметил в своем журнале ошибок при посещении: example.com там написано: «Файл не существует: /srv/www/example.com/public_html/public_html"

1 Ответ

0 голосов
/ 24 мая 2011

Решение предоставлено по реквиниксу на devshed

RewriteEngine On
RewriteCond %{HTTP_HOST} !this.example.com
RewriteRule ^ http://this.example.com%{REQUEST_URI} [L]
...