Как перенаправить все с 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]
Другие вопросы по тегам