使用 htaccess 进行 URL 屏蔽 2.


URL Masking with htaccess 2

我有以下网址:

http://site/testing/mypage.php?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=US&Price=

我有 htaccess 可以检查变量国家/地区中是否有内容,它会像这样更改 url:

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]

它工作得很好..并将我重定向到我所说的上述URL,但是在我的PHP文件中,如果我删除htAccess,我的变量不再工作,它是$_GET['Country'],它可以很好地打印出来。

它以你的方式工作正常,你只需要更改所有类型的链接,因为你不能在所有条件下使用分时度假/我们

"我有以下网址:">

"它像这样更改网址:">

哇,哇,哇!您可能会陷入向后编写 .htaccess 的常见陷阱。

http://site/testing/mypage.php/TimeshareForSale/US

是 URL 的">搜索引擎友好"外部版本。如果不先将(在.htaccess中(转换为

http://site/testing/mypage.php?PropertyBuyRent=sell&Developer=&Resort=&City=&State=&Country=US&Price=

虽然这在有或没有.htaccess URL重写的情况下都可以工作,但我认为您正在尝试保护您的用户免受其影响。 .htaccess用于将第一种形式转换为第二种形式(入站(,而不是相反(出站(。

现在,你想朝哪个方向走?