2017-02-02 19 views
0

隨着城鎮的選擇框,我必須改變這樣的網址: mywebsite.com/index.php mywebsite.com/myselecttownvalue/index.php或mywebsite.com/anotherselecttownvalue/index.phpurl rewriting:在選擇框的值中添加虛擬文件夾url

這是可能的一個htaccess管理呢?

求助!

+2

目前還不清楚你所要求的...使用和響應選項select與動態配置文件('.htaccess')無關,它控制通信協議(https)的詳細信息。所以你的問題的直接答案是:不,這是不可能的「一個htaccess」。您需要使用表單發佈或客戶端邏輯(javascript)。 – arkascha

+0

對不清楚的問題。用javascript和php我做重定向。有了htaccess,我只想知道是否可以接受城鎮生成的所有url?泰 –

回答

0

當然,可以「接受」傳入的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」)。這些文件出了名的錯誤,很難調試,他們真的放慢了服務器。它們僅作爲最後一種選擇,用於您無法控制主機配置的情況(閱讀:真正便宜的託管服務提供商),或者您擁有依賴編寫自己的重寫規則的應用程序(這是一個明顯的安全噩夢)。