2016-12-02 28 views
0

後續問題添加到底部!重寫我的htaccess的故障

我在我的索引頁上運行了一堆php代碼來檢查GET值,但我很難弄清楚如何重寫URL。

我要重寫我的網址形成這樣的: www.domain.com?topic=courses &標題= coursetitle &章= CHAPTERTITLE 嗯,我想在技術上它看起來是這樣的,對不對?: www.domain。 ?COM/index.php的話題=課程&標題= coursetitle &章= CHAPTERTITLE

這樣: www.domain.com/courses/coursetitle/chaptertitle

換句話說,我有多個GET值,我希望每個都能在之後顯示斜線,但沒有顯示index.php。那有意義嗎?如果我不善於解釋它,我很難受。另外,如果你有時間來解釋代碼的每個部分都做了什麼,所以我不只是最終複製粘貼它,而是實際瞭解正在發生的事情,這將是appriciated。


後續問題

我有我的網頁上4個不同的主題,讓使用顏色例如名稱(紅,藍,綠,黃)。

主題「紅色」有一個子類別,可以說這稱爲「色相」,而「色相」本身具有「飽和度」子類別。

讓我們給「色相」值8,和「飽和度」 3的值。現在網址看起來應該是這樣的: www.domain.com/red/8/3

從改寫: www.domain.com/index.php?topic=red &色調= 8 &飽和度= 3

這是所有罰款和花花公子,你在評論中提供的代碼確實是對我來說。

現在,讓我們的「藍色」主題也有一些子類別。讓我們說,「黑暗」爲2的值,並保持在一個子類爲簡單起見,現在

,如果我去: www.domain.com/blue/2

如何確保它知道我的第二個GET值應該是$ _GET ['darkness'],而不是像我第一次重寫的$ _GET ['hue']所示的那樣?

有沒有辦法查看我的第一個GET值,並從中決定它讀取的下一個值是一個還是另一個?

還是我最好爲我的4個主題製作真實網頁,而不是從我的索引運行所有內容,然後爲每個主題創建重寫?

回答

1

這應該爲你做的伎倆:

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?topic=$1&title=$2&chapter=$3 [L] 
+1

仍然有後綴'。在它的HTML。有這樣的代替:'([^ /] *)$ /index.php?'只是爲了消除這一點。 – Lag

+1

哦,是的,哎呀,我錯過了。將編輯代碼感謝。 – Adrianopolis

+0

工作像一個魅力,非常感謝。我認爲它會比這更先進= P – user2004478