2012-11-13 59 views
0

我需要能夠作出這樣,當有人訪問我的網站在說:的.htaccess重寫環路誤差

一)http://www.mysite.co.uk/

它實際上是從顯示的內容:

B) http://www.mysite.co.uk/catalog/index.php

並且如果在(b),然後他們301'd以(一)

在我的.htaccess我現在有一個用戶鍵入以下但是這會導致301循環錯誤

RewriteRule ^/?$ catalog/index.php [L] 
Redirect 301 /catalog/index.php http://www.mysite.co.uk 

有沒有什麼辦法可以解決這個問題?由於

+0

爲什麼你需要第二行?去掉它。將第一行寫成'RewriteRule^/?$ catalog/index.php [L,R = 301]' –

+0

這會導致www.mysite.co.uk上的一個奇怪的重定向到以下網址:www.mysite.co.uk/home/ sites/catalog/index.php /home/sites/catalog /是服務器路徑 - 很奇怪 –

+0

可能我很困惑,但是我沒有看到任何規則中的「home /」。你的第二條規則似乎對循環錯誤負責。 –

回答

0

嘗試大意如下的內容:

#Permanently redirect BROWSER requests for the .php script to the Site root: 
RewriteCond %{THE_REQUEST}  /catalog/index.php  [NC] 
RewriteRule ^.*     http://%{HTTP_HOST}/ [R=301,L] 

#Internal redirect (Alias) the root of the site to: /catalog/index.php 
RewriteRule ^$     /catalog/index.php  [L]