2010-11-08 37 views
0

我正嘗試在Apache中使用.htaccess將default.php重定向到/(沒有參數的路徑),但到目前爲止我還沒有找到使其工作的方法。如果我這樣做:如何將default.php重定向到/

Redirect permanent /default.php powerkaraoke.com/

我得到500錯誤。其他重定向工作正常,例如powerkaraoke.com-> www.powerkaraoke.com。

這樣做的正確方法是什麼?預先感謝您的幫助。

+0

你真的想要重定向或使用default.php爲/?在這種情況下,您需要將DirectoryIndex設置爲default.php的mod_dir,而不是.htaccess – 2010-11-08 08:29:10

+0

我正在努力解決我們的根頁面未被Bing索引的問題。其中一個可能的解決方案是重定向default.php。我不想重新配置網站,因爲您提出的更改可能會導致其他地方出現問題,並認爲使用htaccess有一個簡單的解決方案。但看起來你是對的,這不是可以用htaccess完成的事情。 – 2010-11-08 08:58:12

回答

3
RewriteEngine on 
RewriteRule ^default.php$/[R=301,L] 

我認爲應該有效。

+0

問題說.htaccess。 – Gumbo 2010-11-08 08:09:41

+0

我認爲刪除/從^/default.php $將工程..嘗試^ default.php $。 – subosito 2010-11-08 08:13:31

+0

@Gumbo:這有什麼問題? mod_rewrite在.htaccess中工作正常。 – 2010-11-08 08:19:05

1

Redirect需要絕對路徑或絕對URL:

新的URL應與方案和主機名開頭的絕對URL,但也可使用以斜槓開頭的URL路徑,在這種情況下,將添加當前服務器的方案和主機名。

但是你提供的只是一個相對路徑。所以,試試這個:

Redirect permanent /default.php/

但作爲Redirect只匹配給定的路徑前綴碼並將剩餘的路徑段(如/default.php/foo/bar被重定向到/foo/bar),您可能需要使用RedirectMatch代替:

RedirectMatch permanent ^/default\.php$/
+0

這是我最初嘗試的。它會導致代碼爲500的內部服務器錯誤。 – 2010-11-08 08:18:22

+0

@Piotr K:*您嘗試了什麼?都? – Gumbo 2010-11-08 08:19:35

+0

是的,第一個給出了錯誤500,第二個404。這不僅是對於default.php,而且對於powerkaraoke.com/也是如此。 – 2010-11-08 08:25:53

相關問題