我有一個網站,它將一些GET變量傳遞給PHP中的不同頁面。我的問題是,現在我有一個url的變量,即index.php?category = categoryname,這不是很難忘。域/ URL掩碼
是否有任何方法可以將URL更改爲類似/ categoryname而不重複頁面並存儲到文件夾中?但是也允許用戶輸入/ categoryname並將其重定向到正確的頁面?
我有一個網站,它將一些GET變量傳遞給PHP中的不同頁面。我的問題是,現在我有一個url的變量,即index.php?category = categoryname,這不是很難忘。域/ URL掩碼
是否有任何方法可以將URL更改爲類似/ categoryname而不重複頁面並存儲到文件夾中?但是也允許用戶輸入/ categoryname並將其重定向到正確的頁面?
.htaccess Apache mod_rewrite,幾乎每個專業的動態網站都使用這種方法(如stackoverflow)。
該方法在this article中有詳細說明,我可以在此答案框中解釋它。
你應該看看在.htaccess
文件中寫入一些apache Mod_Rewrite
規則。
溶液討論here:
這通過的apache的重寫模塊完成,此處理規則 表達式。你必須把規則 像這樣在你的.htaccess文件上 您的網站的根:
重寫規則^貓/([0-9] +)$ /index.php?category=$1
^代表URL後 www.example.com/ $意味着 頁面結束的開始。
www.example.com/cat/123
將被服務器被轉換成:
www.example.com/index.php?category=123
在PHP中,您使用普通的$ _GET ['id'] 變量。重寫模塊必須是由apache啓用的 ...這主要是 用於使url格式 獨立於服務器端 腳本語言,因此 url中的.php不合邏輯。這就是爲什麼我 將其更改爲產品/。該的.htaccess 開始與
RewriteEngine敘述在選項 +的FollowSymLinks RewriteBase /這裏所有的重寫規則......