2011-06-20 55 views
0

我看到很多301的問題,但我還沒找到解決方案,所以我只是在這裏發佈它。301沒有索引的重定向

標準301看起來是這樣的:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.301redirect\.de$ 
RewriteRule ^(.*)$ http://www.301redirect.de/$1 [L,R=301] 

好吧,當我瀏覽到我的網站,我結束了在是www.domain.tld/index.php文件/ restofquery。我想要訪問www.domain.tld /當我衝浪到domain.tld,並且我也不想在任何其他查詢中使用index.php。所以domain.tld/articlebla應該是www.domain.tld/articlebla。

任何方式來完成此?

此致敬禮。

回答

0

只需添加上www你會做:

RewriteCond %{http_host} ^301redirect\.de$ [NC] 
RewriteRule ^/?$ http://www.301redirect.de/ [R=301,NC] 

如果還要加上其他的URL部分和www,你會怎麼做:

RewriteCond %{http_host} ^301redirect\.de$ [NC] 
RewriteRule ^(.*?)/?$ http://www.301redirect.de/$1/ [R=301,NC] 

如果你的意思是你不要」 t想要重定向url上的原始查詢字符串,那麼這將工作:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.301redirect\.de$ 
RewriteRule ^(.*)$ http://www.301redirect.de/$1/? [L,R=301] 

?添加到RewriteRule的末尾意味着查詢字符串不會被添加。

+0

嘿。我的意思是,當直接瀏覽到domain.tld時,服務器/ htaccess應該只是重定向到www.domain.tld。但是,如果衝浪到domain.tld/query1/query2 /等,應該有一個www。附加在開頭但沒有index.php。 目前它就像domain.tld - > www.domain.tld/index.php 和domain.tld/query1/query2/- > www.domain.tld/index.php/query1/query2/ – HIQwolf

+0

陷阱。我會更新我的答案並回復你。 – Tomgrohl

+0

已更新的答案。 – Tomgrohl