2014-01-09 209 views
1

我有這個URL醜陋網址漂亮URL

www.example.com/index.php?key1=val1&key2=val2&key3=val3

,我想送我的請求後,我看到在地址欄是這樣的:

example.com/key1/val1/key2/val2/key3/val3等。

我想能夠使用這兩種類型的URL,並總是看到類似於URL欄中的第二個URL。

可能嗎?

+0

是的,這是可能的......神奇的東西叫做Apache服務器的MOD_REWRITE。只是goolge或在這裏搜索更多的信息 – donald123

+0

@ donald123是否有可能給我代碼示例,我知道一點MOD_REWRITE,但我不是專業人士。 – Eeliya

+0

@ donald123我可以將第二個URL重定向到第一個URL,但我不知道如何去做,反之亦然。 – Eeliya

回答

1

嘗試:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)(.*)$ /$3?$1=$2 [L,QSA] 

這將改變所有的路徑節點到鍵/值參數,只要任何鍵都沒有在你的文檔根目錄的文件或目錄。

+0

我目前無法測試您的代碼。你的代碼是否適用於任何數量的變量? – Eeliya

+0

@Eeliya是的,因爲它依賴於重寫引擎進行循環,因此它會連續匹配2個路徑節點,將它們更改爲查詢字符串中的鍵/值對,然後循環,直到沒有剩下任何東西。 –