我想重寫如下:似乎無法mod_rewrite的路徑實際存在
RewriteRule ^abc([.]*)$ /abc.py$1
這個工作,如果ABC是不是一個目錄。即http://eg.com/abc將根據需要顯示abc.py頁面,但是如果我在根目錄mkdir abc
那麼http://eg.com/abc實際上會顯示abc目錄的內容。
如何使重寫顯示文件/abc.py
如果/abc
是目錄?
我想重寫如下:似乎無法mod_rewrite的路徑實際存在
RewriteRule ^abc([.]*)$ /abc.py$1
這個工作,如果ABC是不是一個目錄。即http://eg.com/abc將根據需要顯示abc.py頁面,但是如果我在根目錄mkdir abc
那麼http://eg.com/abc實際上會顯示abc目錄的內容。
如何使重寫顯示文件/abc.py
如果/abc
是目錄?
也許試試這個來代替:
RewriteRule ^abc(.*)$ /abc.py$1 [R]
對我來說它工作得很好。
使用[R]
您將更容易看到結果。
您也可以嘗試在RewriteRule之前將RewriteBase /
添加到.htaccess文件中。
當我用[。]而不是隻是。我根本無法完成重寫工作,所以我沒有真正能夠重現您的問題,但希望這有任何幫助。
'[R]'導致重定向,這不是我想要的。我希望url繼續是'eg.com/abc',而不是'eg.com/abc.py'。也因爲某些原因'.'不適合我,我需要使用'[。]'。 – Olhovsky 2012-01-05 02:38:08
是的,但調試[R]很棒,因爲你在玩耍的時候「看到」結果。您可以稍後在完成後將其刪除。 :)我不確定爲什麼[。]適用於您,而不適用於我,反之亦然,並且爲什麼我沒有遇到與使用名稱的文件夾相同的問題。 :/對不起,當我無法重現錯誤時,不能使用更多的功能。 – 2012-01-05 03:02:35
那麼,這個規則與[R]「有效」,但並非沒有[R]。所以在這種情況下調試並沒有什麼幫助。不管怎麼說,還是要謝謝你 :) – Olhovsky 2012-01-05 03:10:40
我認爲這屬於webmasters.stackexchange.com – ninesided 2012-01-05 02:00:19
也許。如果這是真的,那麼這些4146問題也是如此:http://stackoverflow.com/search?q=mod_rewrite – Olhovsky 2012-01-05 02:03:54
你是對的 – ninesided 2012-01-05 02:05:44