我有以下格式的大约300次重定向
Redirect 301 /post/My-Blog-Post.aspx https://www.example.com/blog/a-new-post/
除非重定向区分大小写且转到/post/my-blog-post.aspx
不重定向,否则效果很好。
旧网址没有针对新网址的模式,因此这可能必须是每次重定向的标记。
无论如何,我如何获取重定向的网址?
答案 0 :(得分:7)
不要认为有一种方法可以使Redirect
指令(mod_alias的一部分)不区分大小写,但是可以使用mod_rewrite标志。您需要更改所有重定向:
Redirect 301 /post/My-Blog-Post.aspx https://www.example.com/blog/a-new-post/
为:
RewriteRule ^/?post/My-Blog-Post.aspx$ https://www.example.com/blog/a-new-post/ [L,R=301,NC]
注意NC
标志,意思是“无案例”。这将匹配任何看起来像/post/my-blog-post.aspx
的URI并忽略大小写,并将其重定向到https://www.example.com/blog/a-new-post/
。
答案 1 :(得分:1)
但是,如果你想让“My-Blog-Post”变成“a-new-post”,我的意思是你想要 /post/My-Blog-Post.aspx 将被重定向到 / blog / a-new-post / / post / this 。 aspx 进入 / blog / 此 / 或 / post / .aspx 进入 / blog / / 甚至 / post / 任何 .aspx 进入 / blog / 任何< / strong> / ,您可以尝试在.htaccess
隐藏文件中使用此代码:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^post/([a-z0-9-_]+).aspx$ /blog/$1/ [R=301,NC]