2014-01-29 2 views
0

Сейчас я использую этот кодDEBUGGING .htaccess коды

# Redirect non-www urls to www 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^freevouch\.com [NC] 
RewriteRule (.*) http://www.freevouch.com/$1 [R=301,L] 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

и с этим кодом:

  1. мой весь сайт перенаправляет на домашней странице.
  2. моя страница контакта не работает, она будет перенаправлена ​​на мою домашнюю страницу.
+0

Для 'Redirect не-WWW URL-адресов для www', создать CNAME запись –

+0

ожидаемое поведение является: все страницы перенаправления на главную страницу, кроме контактной страницы? – Raptor

+3

@ ч. Это не одно и то же. С записью CNAME foo.com и www.foo.com будут одинаково работать для обслуживания вашего сайта, а перенаправление с сайта foo.com на www.foo.com означает, что только сайт www.foo.com фактически обслуживает ваш сайт. Запись DNS CNAME не перенаправляется. – deceze

ответ

0

этот код должен быть правильным для Вашего случая:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/

# Redirect non-www urls to www 
RewriteCond %{HTTP_HOST} !^www 
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R=301] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>