2012-08-09 43 views
1
复杂的搜索页面

的重定向我有一个问题,301重定向以下网址:.htaccess的301

domain.com/browse.php?catName= 测试 &的cityName = cityhere & keywork = &类别= 0 &城市= 0 &价格= 0 &类型= 0

向该:

domain.com/ads- 测试 -in- cityhere/keywork = &类别= 0 &城市= 0 &价格= 0 &类型= 0

url可以通过在搜索字段中添加更多变量来改变,所以它可以是这样的:

domain.com/browse.php?catName= 测试 &的cityName = cityhere & keywork = &类别= 0 &城市= 0 &价格= 0 &类型= 0 & anothervar = 0 & VAR = 9等

它不具有固定变量的数量。基本上我需要重定向基于catNamecityName(同时也从url的最后部分删除这2个变量),其余的应该保持原样并在之后显示/?

该URL是用户在提交搜索表单时创建的。

可能吗?如果是这样,我怎么能做到这一点?

谢谢!

回答

1

在htaccess文件在你的文档根目录尝试添加此:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^catName=([^&]+)&cityName=([^&]+)&?(.*)$ 
RewriteRule ^browse.php$ /ads-%1-in-%2/?%3 [L,R=301] 
+0

它的工作,非常感谢你!我仍然有一个小问题,代码重定向好,但我没有看到browse.php,我看到index.php(这是默认的404重定向)。你能帮我解决吗?再次感谢你。 – doubleb 2012-08-10 00:40:26

+0

@doubleb我不知道你的意思是没有看到'browse.php'。 – 2012-08-10 01:04:34

+0

网址已正确显示在地址栏中,但不会显示browse.php页面,除了重定向代码之外,还应添加其他内容吗? – doubleb 2012-08-10 01:11:21