我的网站使用以下网址格式
localhost / loc-New-Delhi-India(loc - 在所有网址和以前用于更改的文字中很常见)
现在,我已将其更改为
localhost / New-Delhi-India / location(删除了loc并将其作为“位置”放在URL的末尾)。为此,我使用以下重写规则
RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/(location)?$ city-detail.php?cityurl=$1
cityurl在'localhost'之后抓取字符串并搜索db。
现在,由于该网站被Google严格索引并在社交媒体上分享了很多,我想将这些网址重定向到新的网址。我尝试了下面的代码,但这不起作用。
RewriteEngine on
RewriteRule "loc-(.*)" "^([A-Za-z0-9-]+)/(location)?$ city-detail.php?cityurl=$1" [R]
新网址已成功创建,但旧网址无法重定向到新网址。我确定有些不对劲但找不到。我研究了旧问题,但它们有点不同。在这里,我没有在localhost之后包含任何子目录,并在城市名称后添加目录'localhost'。
任何帮助将不胜感激lott:)
答案 0 :(得分:0)
以下可能有效:
RewriteRule loc-(.*) $1/location [R=301,QSA]
RewriteRule ^([A-Za-z0-9-]+)/(location)?$ city-detail.php?cityurl=$1
第一条规则将触发301重定向,这也会告诉任何搜索引擎您的资源已被永久移动,这可能会让他们更改其索引以反映这一点。一旦你重定向,第二条规则应该正常触发。