Php 将一个干净的url重定向到另一个问题
我试图将Php 将一个干净的url重定向到另一个问题,php,.htaccess,redirect,Php,.htaccess,Redirect,我试图将example.com/en/**Weight\u Loss-p370**重定向到example.com/en/**Weight\u Loss-c145**,因为第一页是第二页的重复页 我尝试了很多方法,但例如,当我在.htaccess中添加这一行时: Redirect 301 /en/Weight_Loss-p370 http://example.com/en/Weight_Loss-c145 我得到:example.com/en/Weight\u Loss-c145?sys\u l
example.com/en/**Weight\u Loss-p370**
重定向到example.com/en/**Weight\u Loss-c145**
,因为第一页是第二页的重复页
我尝试了很多方法,但例如,当我在.htaccess中添加这一行时:
Redirect 301 /en/Weight_Loss-p370 http://example.com/en/Weight_Loss-c145
我得到:example.com/en/Weight\u Loss-c145?sys\u lang=en&elem\u id=370
有些参数从无到有
你知道怎么解决这个问题吗?
谢谢,这是因为在执行此规则之前,其他规则正在更改请求URI 您可以将此规则用作第一条规则:
RewriteEngine On
# specific URLs
RewriteRule ^(en/Weight_Loss)-p370/?$ /$1-c145? [L,NC,R=301]
# remaining URLs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . http://siteB.com/? [L,R=301]
在测试之前,请确保清除浏览器缓存。出现这些参数是因为仍会触发对第一个URL进行解析的
重写规则。
太好了。非常感谢。你能再帮我一件事吗?我已经重写了一些URL,现在我想将google索引的所有其他URL重定向到站点B的主页。换句话说:所有未重写到要重定向的页面的URL,自动重定向到主页。谢谢:)试试重写规则。/代码>作为最起码的规则。我在手机上,无法测试,但您可能需要跳过此规则中的js/CSS/图像文件。很抱歉,我已脱机2天。什么是错误?您是否可以显示您最新的.htaccess以澄清更新的答案,并用您的实际域替换siteB.com
。