#apache #.htaccess #mod-rewrite #apache2
#apache #.htaccess #мод-переписать #apache2
Вопрос:
Я бы хотел, чтобы мой сайт перенаправлял весь трафик с www.example.com и example.com или anythingelse.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:
Решение, предоставленное requinix на разработанном
RewriteEngine On
RewriteCond %{HTTP_HOST} !this.example.com
RewriteRule ^ http://this.example.com%{REQUEST_URI} [L]