我有点难过,可以使用一些帮助。将一堆页面从一台服务器转移到另一台服务器,并稍微改变路径以包含新的用户ID。我已经完成了旧网址到新网址的地图,但我的重写只是不起作用。
这是我目前对htaccess文件的尝试:
RewriteRule /users/MikeJones[^.*] http://new.com/profiles/1234/mikejones/ [NC,R=301,L]
我希望这些网址中的任何一个都应该转到我提供的网址,而不是附加原始网址的一部分。
我的结果如下:
old.com/users/MikeJones > new.com/profiles/1234/mikejones/ (Good!)
old.com/users/MikeJones/ > new.com/profiles/1234/mikejones// (Bad)
old.com/users/MikeJones/test > new.com/profiles/1234/mikejones//test (Bad)
old.com/users/MikeJones1234 > new.com/profiles/1234/mikejones/1234 (Bad)
old.com/users/MikeJones?test=that > new.com/profiles/1234/mikejones/?test=that (Bad)
我想总是去同一个网址,不管原始网址上还有什么。
像这样:
old.com/users/MikeJones > new.com/profiles/1234/mikejones/
old.com/users/MikeJones/ > new.com/profiles/1234/mikejones/
old.com/users/MikeJones/test > new.com/profiles/1234/mikejones/
old.com/users/MikeJones1234 > new.com/profiles/1234/mikejones/
old.com/users/MikeJones?test=that > new.com/profiles/1234/mikejones/
有什么建议吗?
答案 0 :(得分:0)
不确定您的规则在您的htaccess文件中是如何工作的,因为mod_rewrite会从URI中删除前导/
,因此您需要与users/
匹配,而不是{{1} }:
/users/
应该是您所需要的一切。您不需要任何其他规则,如果执行有其他规则,请确保之前 。