2013-04-25 131 views
1

我已经在网站上删除和/或组合了几页,现在我需要设置301重定向。
我这样做在我的.htaccess是我最好的选择,但我想添加的规则doesen't得到注意或什么。他们不回应在所有...尝试将一个页面重定向到另一个页面,但是我的重定向规则不响应

这是到目前为止,我已经试过了规则:

Redirect 301 /?Page=sPage&sPage=Our-Store %{SERVER_NAME}?Page=sPage&sPage=About-Us 

RewriteRule ^/?Page=sPage&sPage=Our-Store$ %{SERVER_NAME}?Page=sPage&sPage=About-Us[R=301,NC,L] 

RewriteCond %{HTTP_HOST} !^%{SERVER_NAME}$ [NC] 
RewriteRule . %{SERVER_NAME}%{REQUEST_URI}?Page=sPage&sPage=About-Us [R=301,L] 

这最后一个搞砸up the CSS and JS src's ...

我有这个顶部:

RewriteEngine On 
RewriteBase/

任何建议吗?

UPDATE:跟进问题
我喜欢与结束ID是不同的3000+等于URL字符串。我如何重定向所有这些请求?
这是旧的URL:?Page=Tuninglist&Car=*
这是新的:?Page=Tuning&view=vehicle&type=Car&id=*
*的id=的值只是整数...

希望这样的事情可以工作,但无 - 有一个500服务器错误,而不是...

RewriteCond %{QUERY_STRING} ^Page=Tuninglist&Car=([0-9]+)$ 
RewriteRule^?Page=Tuning&view=vehicle&type=Car&id=$1 [R=301,L] 

*编辑:因为我在条件开始时有发生? 500服务器错误。
现在重定向工作,但结尾id值不包括在内。
我得到的是正确的页面,而不是相关的内容基于该id ...

回答

2

你不能对匹配的查询字符串的重定向或重写规则,你需要使用%{QUERY_STRING}做在一个条件变量:

RewriteCond %{QUERY_STRING} ^Page=sPage&sPage=Our-Store$ 
RewriteRule^%{REQUEST_URI}?Page=sPage&sPage=About-Us [R=301,L] 
相关问题