301 Все файлы ASPX на поддомен - PullRequest
0 голосов
/ 04 мая 2010

Мы только что изменили дизайн сайта для клиента в EE, расположенного по адресу example.com (с www и без www.). Их оригинальный сайт ASPX. У них все еще есть несколько страниц ASPX, которые они хотят сохранить, поэтому их специалисты по ИТ создали поддомен www2, который по сути является клоном их старого сайта.

Мне нужно правило htaccess, которое проверяет, заканчивается ли запрашиваемая страница в .aspx, а затем перенаправляет на поддомен www2. Также следует убедиться, что запрашиваемая страница не существует

Я пытался использовать следующее правило, но оно не работает.

RewriteRule ^http://[www\.?]example.com/(.*)\.aspx$ http://www2.example.com/$1 [R=301,L]

Мой файл htaccess (включая указанное выше правило) выглядит так:

RewriteEngine On

# redirect all .aspx pages to www2
RewriteRule ^http://[www\.?]example.com/(.*)\.aspx$ http://www2.example.com/$1 [R=301,L]

# strip index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

У кого-нибудь есть решение для этого?

1 Ответ

1 голос
/ 04 мая 2010

Директива RewriteRule проверяет только URL-путь . Если вы хотите протестировать любую другую часть запрошенного URL, вам нужно использовать директиву RewriteCond :

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^(.*)\.aspx$ http://www2.example.com/$1 [R=301,L]
...