我有以下网址:
http://site/testing/mypage.php?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=US&Price=
我有htaccess检查如果变量国家/地区有某些内容,则会更改此网址:
http://site/testing/mypage.php/TimeshareForSale/US
我的htaccess文件如下:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(testing/mypage\.php)\?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=([^&]+)&Price= [NC]
RewriteRule ^ /%1/TimeshareForSale/%2? [R=301,L,NE]
RewriteRule ^(testing/mypage.php)/TimeshareForSale/([^/]+)/?$ /$1?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=$2&Price= [L,NC,QSA]
完全正常工作..并将我重定向到我说的上述网址,但在我的php文件中,我的变量不再有效,这是$ _GET ['Country']如果我删除了htaccess它打印好了。
答案 0 :(得分:0)
“我有以下网址:”
“它改变了这样的网址:”
哇,哇,哇!你可能会陷入向后编写.htaccess的常见陷阱。
http://site/testing/mypage.php/TimeshareForSale/US
是网址的“搜索引擎友好”外部版本。如果没有先将(在.htaccess中)转换为
,它将不适用于您的PHP代码http://site/testing/mypage.php?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=US&Price=
虽然这可以使用或不使用.htaccess URL重写,但我认为你试图保护你的用户免受它的侵害。 .htaccess用于将第一个表单转换为第二个表单(入站),而不是相反(出站)。</ p>
现在,你想去哪个方向?
答案 1 :(得分:0)
它的工作方式很好,你需要更改所有类型的链接,因为你不能在所有条件下使用分时度假/我们