0

https://www.mydomain.com/old_url/古い URLを301 リダイレクトする方法がわかりません。https://www.mydomain.com/new_url/

現在、htaccess に次のものがあります (この問題に関連する 2 番目のルールに注意してください)。

RewriteEngine On
# SSL redirect
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteRule ^(.*) https://www.mydomain.com$1 [R=301,nc]

RewriteCond %{THE_REQUEST} ^GET\ /old_url/
RewriteRule ^/old_url$ https://www.mydomain.com/new_url [R=301,nc]

# If the root has a querystring with at least 1 character
RewriteCond %{QUERY_STRING} ^.+
RewriteRule ^/?$ https://www.mydomain.com/new_home_page [R=301,nc]

それが違いを生む場合、私はDjangoも使用しています。どんな助けでも大歓迎です。

4

2 に答える 2

1

これの代わりに:

RewriteCond %{THE_REQUEST} ^GET\ /old_url/
RewriteRule ^/old_url$ https://www.mydomain.com/new_url [R=301,nc]

これを試すことができます:

RewriteCond %{REQUEST_URI} old_url/(.*)
RewriteRule .* https://www.mydomain.com/new_url/%1 [R=301,QSA,NC]

リダイレクトします:

https://www.mydomain.com/old_url/whatever

に:

https://www.mydomain.com/new_url/whatever

更新しました

URI の残り (「なんでも」) をコピーしない場合は、次のようにします。

RewriteCond %{REQUEST_URI} old_url.*
RewriteRule .* https://www.mydomain.com/new_url [R=301,QSA,NC]
于 2012-12-28T20:30:37.717 に答える
0

以下は問題なく動作するはずです。

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^old_url$ /new_url [L,R=301]
RewriteRule ^old_url/(.*) /new_url/$1 [L,R=301]
于 2012-12-28T18:25:17.847 に答える