9

次の形式で約300のリダイレクトがあります

Redirect 301 /post/My-Blog-Post.aspx https://www.example.com/blog/a-new-post/

リダイレクトで大文字と小文字が区別され、going to/post/my-blog-post.aspxがリダイレクトされないことを除いて、これはうまく機能します。

古い URL から新しい URL へのパターンはないため、これはおそらくすべてのリダイレクトのフラグである必要があります。

どのような場合でもリダイレクトする URL を取得するにはどうすればよいですか?

4

2 に答える 2

10

ディレクティブ (mod_alias の一部) の大文字と小文字を区別しないようにする方法はないと思いますが、Redirect使用できる 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/ます。

于 2013-04-06T16:22:24.460 に答える
1

ただし、「My-Blog-Post」を「a-new-post」の変数にしたい場合は、 /post/My-Blog-Post.aspxを/blog/a-newにリダイレクトしたい場合を意味します-post/ /post/ this .aspx into /blog/ this /または/post/ that .aspx into /blog/ that /または/post/ anything .aspx into /blog/ anything /のいずれか、これを使用してみることができます.htaccess隠しファイルのコード:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^post/([a-z0-9-_]+).aspx$ /blog/$1/ [R=301,NC]
于 2013-04-06T16:50:53.703 に答える