2012-11-08 107 views
1

我想執行這一規則:重寫與htaccess的規則,重定向301

RewriteRule ^featured$ home.php?featurez=1 [L,NC,PT,R=301] 

但我得到的是:

http://apps.com/var/www/vhosts/apps.com/httpdocs/iphone/home.php?featurez=1 

我試圖與PT標籤克服它......但什麼上有:(效果..什麼問題,如何解決這個問題..

回答

0

當您在規則的目標中不使用前導斜槓時,當apache需要猜測路徑是URI路徑還是文件路徑時,它猜測是錯誤的。你可以幫助通過添加一個前導斜槓(或使目標的絕對URI)或添加重寫基地的apache了:

RewriteBase /iphone/ 
RewriteRule ^featured$ home.php?featurez=1 [L,NC,PT,R=301] 

(或任何基本URI是你的要求)

或更改目標絕對URI:

RewriteRule ^featured$ /iphone/home.php?featurez=1 [L,NC,PT,R=301] 

這是假設你的htaccess文件坐在目錄「iphone」你的文檔根目錄中,並訪問你去http://your.domain/iphone/featured重定向。否則,只要擺脫所有iphone/的東西。

0
RewriteRule ^featured$ http://%{HTTP_HOST}/home.php?featurez=1 [L,NC,PT,R=301] 
+0

did not work ..我認爲錯誤來自上面的somwhere ..但我不知道在哪裏 –

+0

清除瀏覽器的緩存,然後重試! – undone

1

你可以試試這個:

RewriteEngine on 
RewriteRule ^featured$ home.php?featurez=1 [QSA,L,R=301] 
+0

有沒有解決這些問題的方法:Alias/iphone /var/www/vhosts/apps.com/httpdocs –

+0

你的意思是,這個語法:Redirect/featured http://your_url/home.php?featurez = 1 – developer