2014-03-26 162 views
0

我想重定向網站從www到非www。使從www重定向到非www,並允許進一步處理

主要問題是CMS的.htaccess文件非常複雜。

否則該指令在.htaccess的開始應該有工作

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.ecotrans-spb.ru$ [NC] 
RewriteRule ^(.*)$ http://ecotrans-spb.ru/$1 [R=301,L] 

什麼旗,我應該代替這些設置在這裏進一步允許的.htaccess過程中的網址是什麼?

通用CMS的.htaccess

AddDefaultCharset UTF-8 
ErrorDocument 404 /404 
ErrorDocument 401 /password.php 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.ecotrans-spb.ru$ [NC] 
RewriteRule ^(.*)$ http://ecotrans-spb.ru/$1 [R=301] 


# Админка теперь по адресу /simpla 
RewriteRule ^admin/?$ simpla [L] 


# Каталог товаров 
RewriteRule ^catalog/([^/]+)/?$ index.php?module=ProductsView&category=$1 [L,QSA] 
RewriteRule ^catalog/([^/]+)/([^/]+)/?$ index.php?module=ProductsView&category=$1&brand=$2 [L,QSA] 

RewriteRule ^products/([^/]+)/?$ index.php?module=ProductView&product_url=$1 [L,QSA] 
RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA] 

RewriteRule ^brands/([^/]+)/?$ index.php?module=ProductsView&brand=$1 [L,QSA] 
RewriteRule ^brands/([^/]+)/page_([^/]+)/?$ index.php?module=ProductsView&brand=$1&page=$2 [L,QSA] 

# Поиск товаров 
RewriteRule ^search/([^/]+)/?$ index.php?module=ProductsView&keyword=$1 [L,QSA] 
RewriteRule ^search/?$ index.php?module=ProductsView [L,QSA] 

# Блог 
RewriteRule ^blog/([^/]+)/?$ index.php?module=BlogView&url=$1 [L,QSA] 
RewriteRule ^blog/?$ index.php?module=BlogView [L,QSA] 

# Корзина и заказы 
RewriteRule ^cart/?$ index.php?module=CartView [L,QSA] 
RewriteRule ^cart/([^/]+)/?$ index.php?module=CartView&add_variant=$1 [L,QSA] 
RewriteRule ^cart/remove/([^/]+)/?$ index.php?module=CartView&delete_variant=$1 [L,QSA] 
RewriteRule ^order/([^/]+)/?$ index.php?module=OrderView&url=$1 [L,QSA] 
RewriteRule ^order/?$ index.php?module=OrderView [L,QSA] 

# Для пользователей 
RewriteRule ^user/login/?$ index.php?module=LoginView [L,QSA] 
RewriteRule ^user/register/?$ index.php?module=RegisterView [L,QSA] 
RewriteRule ^user/logout/?$ index.php?module=LoginView&action=logout [L,QSA] 
RewriteRule ^user/password_remind/?$ index.php?module=LoginView&action=password_remind [L,QSA] 
RewriteRule ^user/password_remind/([0-9a-z]+)/?$ index.php?module=LoginView&action=password_remind&code=$1 [L,QSA] 
RewriteRule ^user/?$ index.php?module=UserView [L,QSA] 

# Google sitemap 
RewriteRule ^sitemap.xml?$ sitemap.php [L,QSA] 

# XML 
RewriteRule ^yandex.xml?$ yandex.php [L,QSA] 

# feedback 
RewriteRule ^contact/?$ index.php?module=FeedbackView [L,QSA] 

#downloads 
RewriteRule ^order/([^/]+)/([^/]+)/?$ index.php?module=OrderView&url=$1&file=$2 [L,QSA] 


# Статические страницы 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA] 
RewriteRule ^/?$ index.php?module=MainView&page_url= [L,QSA] 

# Ресайз картинок на лету 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING} 
#RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*) 
#RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE] 
+0

進一步處理規則而不是重定向到「正確」主機名的任何原因? –

+0

這不是工作,除非你做了很多重複,長話短說:**這是不值得的** –

回答

0

從最後一行刪除L將允許它繼續下去。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.ecotrans-spb.ru$ [NC] 
RewriteRule ^(.*)$ http://ecotrans-spb.ru/$1 [R=301] 

[L]是,如果這個規則匹配,則沒有其他規則匹配的將被執行的標誌。

+0

不... ...我相信[R = 301]將生效...上午我錯了? –

+0

'[R = 301]'會告訴瀏覽器(和搜索引擎)頁面已被永久移動到新地址 – Howli

+0

如果我只是刪除LI獲取500內部服務器錯誤,並且如果我刪除這些RewriteCond和RewriteRule,則全部工作正常(當然沒有www重定向) –