2013-06-18 218 views
-1

首先我是初學者,所以請詳細回答。用htaccess重寫url

我的問題:我想寫一個.htacess規則。

www.asdf.com/city.php?city=New-York to www.asdf.com/New-York 

也與我有其他的網頁,如

www.asdf.com/country.php?country=USA 

,我想出現

www.asdf.com/USA and 

www.asdf.com/state.php?country=LA 

,我想出現

www.asdf.com/LA 

很困惑如何這樣做,任何幫助,我真的需要解決這個問題。

在此先感謝

+0

你檢查過**任何** mod_rewrite教程嗎?這真的是在那裏解釋的第一件事 – zerkms

+0

PS:你如何確定在www.asdf.com/New-York應該使用'?city ='並且在'www.asdf.com/USA''? country ='應該是? – zerkms

+0

這是我感到困惑的。我將如何確定它是城市還是國家。 –

回答

1

林不知道我的做法是做的最好的方式,但是這是我正在做的那一刻:

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?var1=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?var1=$1 

重寫所有頁面的索引。 php

在index.php上,我得到的URL爲:$ url = $ _SERVER [「REQUEST_URI」]; 然後我做一個MYSQL搜索來確定它是什麼樣的頁面。

switch($pagetype){ 
    case "city": include('city.php'); 
    break; 
    case "country": include('country.php'); 
    break;  
} 
+0

不是您正在使用的這個類:'[a-zA-Z0-9_-] '相當於'[\ w-]'? –

+0

我認爲你是對的。 http://stackoverflow.com/questions/11874234/difference-between-w-and-b-regular-expression-meta-characters – Jab