2016-08-20 5 views
-4

Я хочу сделать правило в моем файле .htaccess, чтобы перенаправить на www.example.com и www.example.com/index.html. comПереадресовать www и index.html в root без www .htaccess

Thanks

+0

Возможный дубликат [Generic Htaccess перенаправление WWW к не -www] (http://stackoverflow.com/questions/234723/generic-htaccess-redirect-www-to-non-www) –

+0

RewriteEngine On RewriteRule^index \ .html $/[R = 301, L] RewriteRule^(. *)/Индекс \ .html $/$ 1/[R = 301, L] RewriteEngine На RewriteBase/ RewriteCond% {HTTP_HOST}^WWW \. (. *) $ [NC] RewriteRule^(. *) $ http: //% 1/$ 1 [R = 301, L] –

ответ

0

Создайте файл .htaccess. И добавить к этому:

#Force non-www: 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.YOURDOMAIN\.com [NC] 
RewriteRule ^(.*)$ http://YOURDOMAIN.com/$1 [L,R=301] 
+0

благодарит за то, что он отлично работает для не-www, но на деле по-прежнему отсутствует перенаправление с www.example.com/index.html. ком –

1

Вы можете объединить оба требования в одном правиле, как это:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\. [NC,OR] 
RewriteCond %{THE_REQUEST} /index\.html[?\s] [NC] 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule ^(.*?)(?:index\.html)?$ http://%1/$1 [L,R=301,NE,NC] 
0

Тиис должны работать плавно

RewriteCond %{HTTP_HOST} ^www\.sitename\.com [NC] 
RewriteRule ^(.*)$ https://sitename.com/$1 [L,R=301,NC]