Назад | Перейти на главную страницу

Как перенаправить все с no-www на www, кроме нескольких файлов, с помощью .htaccess?

Как перенаправить все с без www на www кроме нескольких файлов, используя .htaccess?

Я использую следующий .htaccess, чтобы перенаправить без 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.

Вы могли бы связать свои 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]