2012-01-05 18 views
0

我想重寫如下:似乎無法mod_rewrite的路徑實際存在

RewriteRule ^abc([.]*)$ /abc.py$1

這個工作,如果ABC是不是一個目錄。即http://eg.com/abc將根據需要顯示abc.py頁面,但是如果我在根目錄mkdir abc那麼http://eg.com/abc實際上會顯示abc目錄的內容。

如何使重寫顯示文件/abc.py如果/abc是目錄?

+0

我認爲這屬於webmasters.stackexchange.com – ninesided 2012-01-05 02:00:19

+0

也許。如果這是真的,那麼這些4146問題也是如此:http://stackoverflow.com/search?q=mod_rewrite – Olhovsky 2012-01-05 02:03:54

+0

你是對的 – ninesided 2012-01-05 02:05:44

回答

0

也許試試這個來代替:

RewriteRule ^abc(.*)$ /abc.py$1 [R] 

對我來說它工作得很好。
使用[R]您將更容易看到結果。
您也可以嘗試在RewriteRule之前將RewriteBase /添加到.htaccess文件中。

當我用[。]而不是隻是。我根本無法完成重寫工作,所以我沒有真正能夠重現您的問題,但希望這有任何幫助。

+0

'[R]'導致重定向,這不是我想要的。我希望url繼續是'eg.com/abc',而不是'eg.com/abc.py'。也因爲某些原因'.'不適合我,我需要使用'[。]'。 – Olhovsky 2012-01-05 02:38:08

+0

是的,但調試[R]很棒,因爲你在玩耍的時候「看到」結果。您可以稍後在完成後將其刪除。 :)我不確定爲什麼[。]適用於您,而不適用於我,反之亦然,並且爲什麼我沒有遇到與使用名稱的文件夾相同的問題。 :/對不起,當我無法重現錯誤時,不能使用更多的功能。 – 2012-01-05 03:02:35

+1

那麼,這個規則與[R]「有效」,但並非沒有[R]。所以在這種情況下調試並沒有什麼幫助。不管怎麼說,還是要謝謝你 :) – Olhovsky 2012-01-05 03:10:40