2014-10-11 32 views
1

網站的.com/信息 rmation.php?國家= 美國 &狀態= 共同 &城市= 丹佛改寫多個PHP查詢用的.htaccess參數

site .com/info/usa/合作/丹佛

的.htaccess

RewriteEngine On 
RewriteRule ^info/([^/]+)/(.*)$/(.*)$ information.php?country=$1&state=$2&city=$3 [L] 
RewriteRule ^info/([^/]+)/(.*)$ information.php?country=$1&state=$2     [L] 
RewriteRule ^info/([^/]+) informationl.php?country=$1        [L] 

information.php文件

<?php 
echo $_GET["country"].'<br>'; 
echo $_GET["state"].'<br>'; 
echo $_GET["city"].'<br>'; 
echo $_SERVER['QUERY_STRING']'<br>'; 
?> 

前兩個查詢工作正常,但它不會趕上第三個, 好吧,但它附加到第二個查詢

美國

CO /丹佛

國家=美國&狀態= CO /丹佛

我想我失去了一些東西,誰能幫助我?

回答

0

你有兩個$在那裏。這個符號意味着「匹配結束」,所以你的「城市」參數正在被「狀態」一個吞噬。試試:

RewriteEngine On 
RewriteRule ^info/([^/]+)/([^/]+)/([^/]+)$ information.php?country=$1&state=$2&city=$3 [L] 
RewriteRule ^info/([^/]+)/([^/]+)$ information.php?country=$1&state=$2     [L] 
RewriteRule ^info/([^/]+) informationl.php?country=$1        [L]