0

/Drug-Charges/のリンクを使用してすべてを単純に/にリダイレクトしようとしています

私は301リダイレクトとリライトルールの両方を試してきましたが、うまくいきませんでした。

RewriteCond %{REQUEST_URI} ^/Drug-Charges/(.*) [NC]
RewriteRule ^/Drug-Charges http://www.domain.com/$1 [R=301,L]

私はここで何が間違っているのですか?書き換えエンジンとすべてを有効にしました。

これが全体の上部です:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.aspx$ $1.html [R=permanent]
RewriteRule ^Landing-Pages/(.*) County-Resources/$1 [R=permanent]
#RewriteRule ^Practice-Areas/Sex-Crimes/(.*) /$1 [R=permanent]

rewriteRule ^index\.(php|html|htm|asp) http://www.domain.com/ [R=permanent,L] 


RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

RewriteRule ^Drug-Charges/(.*) /%1 [R,L]
4

2 に答える 2

0

参照を使用せずにこの種のリダイレクトを行う方がよいでしょうREQUEST_URI

RewriteRule ^Drug-Charges/?(.*)? $1[L,NC,R=301]

このルールは基本的に、リクエストが で始まるかどうかDrug-Charges、およびそれに続く任意のものがチェックされ、それに応じてリダイレクトされます。

REQUEST_URI参照を完全に削除する必要があることに注意してください。

于 2013-03-18T21:19:14.670 に答える
0

ルールに 2 つの問題があります

  • (.*)in aはではなくRewriteCondとしてアクセスされます%1$1
  • .htaccess コンテキストでは、先頭のスラッシュがリクエスト URL パスから削除されます

/Drug-ChargesリクエストURLから切り出すには、

RewriteRule ^Drug-Charges/(.*)$ /$1 [R,L]

有効にしてテストしないでください。詳細について301は、この回答.htaccess 書き換えルールをデバッグするためのヒント を参照してください。

于 2013-03-18T21:12:40.627 に答える