2011-01-13 88 views
1

我有一個網站,它將一些GET變量傳遞給PHP中的不同頁面。我的問題是,現在我有一個url的變量,即index.php?category = categoryname,這不是很難忘。域/ URL掩碼

是否有任何方法可以將URL更改爲類似/ categoryname而不重複頁面並存儲到文件夾中?但是也允許用戶輸入/ categoryname並將其重定向到正確的頁面?

回答

3

.htaccess Apache mod_rewrite,幾乎每個專業的動態網站都使用這種方法(如stackoverflow)。

該方法在this article中有詳細說明,我可以在此答案框中解釋它。

3

你應該看看在.htaccess文件中寫入一些apache Mod_Rewrite規則。

2

溶液討論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 /這裏所有的重寫規則......