Как перенаправить все с no-www на www За исключением нескольких файлов, используя.htaccess?
Как перенаправить все с no-www на www, за исключением нескольких файлов, используя.htaccess?
Я использую следующий.htaccess, чтобы перенаправить no-www на www.
.htaccess
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^[^.]+\.[^.]+$ [nc]
rewriterule ^(.*)$ http://www.%{http_host}/$1 [r=301,nc]
Как добавить исключение для нескольких файлов?
например:
1) example.com/page1.html не должен быть перенаправлен на www.example.com
2) example.com/xml/page2.xml не следует перенаправлять на www.example.com
Все остальное, кроме example.com/page1.html и example.com/xml/page2.xml, должно быть перенаправлено на www.example.com
1 ответ
Решение
Вы можете связать свои директивы RewriteCond, например:
RewriteEngine on
RewriteCond %{REQUEST_URI} ! ^/page1\.html$
RewriteCond %{REQUEST_URI} ! ^/xml/page2\.xml$
RewriteCond %{http_host} ^[^.]+\.[^.]+$ [nc]
RewriteRule ^(.*)$ http://www.%{http_host}/$1 [r=301,nc]