2013-06-28 4 views
0

Мне нужно знать, как перенаправить example.com/folder/ - www.example.com/folder/ с использованием htaccess. В данный момент htaccess перенаправляет example.com/folder/ - www.example.com. Это то, что htaccess говорит в данный момент:Как перенаправить example.com/folder/ на www.example.com/folder/?

RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule . - [E=REWRITEBASE:/] 

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] 

RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule ^folder$ /folder/ [L,R] 

RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule ^folder/(.*) /$1 [L] 

Какие изменения необходимы?

+0

Мне это удалось. Извините за беспокойство. Решением было просто добавить это в htaccess в дополнение к тому, что уже было там: RewriteCond% {HTTP_HOST}^mysite.com $ RewriteRule^папка $/папка/[L, R] RewriteCond% {HTTP_HOST}^mysite .com $ RewriteRule^folder /(.*)/$ 1 [L] – user2530140

+0

Подумайте, «ответьте» на свой вопрос. Таким образом, ясно, что вопрос решен. Спасибо – DaGardner

ответ

0

Просто используйте это условие:

RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Сначала проверьте, что значение хоста не является пустым (может быть с HTTP/1.0). проверить, если мы уже «использовать» WWW, а затем chrck для SSL (HTTPS)

Если вы хотите сохранить поддоменов нетронутыми, вы должны изменить вторую строку в этом (головки до это не 100% общий, поскольку вам нужно жестко кодировать в своем домене!):

RewriteCond %{HTTP_HOST} ^example.com [NC]