我有一個簡單的Flask應用程序,我改變了Apache配置文件啓用.htaccess,我認爲該文件被Apache看到,因爲當我寫「拒絕所有「在.htaccess中我得到一個」禁止「頁面。這讓我覺得我必須在語法的某個地方出現錯誤。我花了很多時間嘗試不同的正則表達式,但無濟於事。國防部重寫規則將無法正常工作 - 阿帕奇.htaccess
我想當前的URL轉換:
http://example.com/average_temperatures?city1=istanbul&city2=ankara&city3=london
爲此格式:
http://example.com/average_temperatures/istanbul/ankara/london
這是我的.htaccess的內容:
RewriteEngine On
RewriteRule ^average_temperatures/([^/.]+)/([^/.]+)/([^/.]+)/?$ average_temperatures?city1=$1&city2=$2&city3=$3 [L]
有人可以請指出我在正確的方向可能會在這裏?我很欣賞任何提示。謝謝。
看看你的http服務器錯誤日誌文件,以確保沒有錯誤發生。然後啓用重寫日誌記錄,這可以讓您瞭解重寫引擎中發生了什麼。 – arkascha
你已經錯過了文件擴展名(** .php **或** .jsp),看看RewriteRule的替換模式,「average_temperatures ** .ext **?city1 = $ 1&city2 = $ 2&city3 = $ 3」 **)你正在傳遞get參數的文件(查詢字符串值) –
嘿,這個頁面是由一個Flask應用程序生成的,所以我猜這個擴展名只是「.html」(儘管它在URL),但我試過了(average_temperatures.html?city1 = $ 1&city2 = $ 2&city3 = $ 3 [L]),但它仍然無效。 –