Как использовать .htaccess для перенаправления страниц без www на страницы www, за исключением одной подпапки - PullRequest
1 голос
/ 08 сентября 2011

Я пытаюсь перенаправить все не www. URL, ведущие на мой сайт на www. URL - однако на моем сайте есть одна подпапка, которую я не хочу менять. Код, с которым я работаю:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

Есть ли способ заставить этот кусок кода игнорировать domain.com/specialsubfolder?

Большое спасибо, попытался найти это, но не смог найти то, что искал.

1 Ответ

0 голосов
/ 08 сентября 2011

Обычный способ (легко читаемый и понятный) - это добавить еще одно условие, чтобы игнорировать это правило, если URL начинается с /specialsubfolder:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteCond %{REQUEST_URI} !^/specialsubfolder
RewriteRule .* http://www.domain.com%{REQUEST_URI} [R=301,L]

В качестве альтернативы, добавьте такое условие в соответствующий шаблон (большетрудно читать, но чуть быстрее):

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(?!specialsubfolder).* http://www.domain.com%{REQUEST_URI} [R=301,L]

PS Вы можете добавить [NC] флажки, если требуется регистр символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...