2013-07-01 33 views
0

我知道如何mod_rewrite的這個網址:mod_rewrite的特定變量

folder/example.php?var1=value1&var2=value2&var3=value3&var4=value4 

要:

folder/value1/value2/value3/value4 

通過這樣做:

RewriteRule ^folder/([0-9]{4})/([0-9]{2})/([0-9]{2})/([a-z0-9\-]+)$ /folder/example.php?var1=$1&var2=$2&var3=$3&var4=$4 [L] 

但是我想轉換網址,使其只包含一個像這樣的變量:

folder/value1 

甚至:

folder/example.php?var1=value1 

值1是唯一=無重複的URL

是否有任何方法來實現這一目標?

+0

這是一個有點不清楚你問這裏。你想要「轉換」URL是什麼意思?你是說你想讓'folder/value1'這樣的東西重定向到'/folder/example.php?var1 = $ 1&var2 = $ 2&var3 = $ 3&var4 = $ 4'嗎? –

+0

@MikeBrant是,這就是我想說的。對不起,我的壞語法 –

+0

如果是這種情況,你可能需要看看在你的應用程序中使用邏輯來做到這一點,而不是希望Apache能夠處理這一點。在這一點上,您已經進一步瞭解了請求路由的概念,Apache可能會將這樣的URI直接指向特定的腳本,但具體的腳本需要能夠理解如何從URI中派生出含義。 –

回答

0

指定是否需要與否每個部分,如:

RewriteRule ^folder/([0-9]{4}?)/?([0-9]{2}?)/?([0-9]{2}?)/?([a-z0-9\-]+?)$ /folder/example.php?var1=$1&var2=$2&var3=$3&var4=$4 [L] 
+0

出錯了。這不起作用。我不知道爲什麼? –

+0

已更新的答案;但是,您可能想要在PHP文件中處理此請求。 –