隨着城鎮的選擇框,我必須改變這樣的網址: mywebsite.com/index.php mywebsite.com/myselecttownvalue/index.php或mywebsite.com/anotherselecttownvalue/index.phpurl rewriting:在選擇框的值中添加虛擬文件夾url
這是可能的一個htaccess管理呢?
求助!
隨着城鎮的選擇框,我必須改變這樣的網址: mywebsite.com/index.php mywebsite.com/myselecttownvalue/index.php或mywebsite.com/anotherselecttownvalue/index.phpurl rewriting:在選擇框的值中添加虛擬文件夾url
這是可能的一個htaccess管理呢?
求助!
當然,可以「接受」傳入的URL,這意味着將它們重寫爲內部的現有路由,以處理請求並對其進行響應。
關於你的例子:一般人會離開了腳本的名稱,所以網址看起來乾淨,像https://example.com/town/myselectedtown
並獲得內部被重寫,以類似/index.php?town=myselectedtown
,使所選擇的值是$_GET
超全局變量$_GET['town']
可用。小心URL編碼,但鎮的名字,如果它包含空白或有趣的東西...
看看這個例子設置:
RewriteEngine on
RewriteRule ^/?town/(.+)$ /index.php?town=$1 [L]
上述規則將在動態配置文件的工作(「.htaccess」)和真正的http服務器主機配置。
你當然可以在沒有/town
標記的情況下定義你的URL,這是你建議的(所以只是https://example.com/myselectedtown
)。但是,這通常會引發其他URL模式的問題,因爲它永遠不會清楚URL是指城鎮名稱還是其他內容......
而且一般提示:您應該始終傾向於將這些規則放置在http服務器內主機配置,而不是使用動態配置文件(「.htaccess」)。這些文件出了名的錯誤,很難調試,他們真的放慢了服務器。它們僅作爲最後一種選擇,用於您無法控制主機配置的情況(閱讀:真正便宜的託管服務提供商),或者您擁有依賴編寫自己的重寫規則的應用程序(這是一個明顯的安全噩夢)。
目前還不清楚你所要求的...使用和響應選項select與動態配置文件('.htaccess')無關,它控制通信協議(https)的詳細信息。所以你的問題的直接答案是:不,這是不可能的「一個htaccess」。您需要使用表單發佈或客戶端邏輯(javascript)。 – arkascha
對不清楚的問題。用javascript和php我做重定向。有了htaccess,我只想知道是否可以接受城鎮生成的所有url?泰 –