web-dev-qa-db-ja.com

htaccess.html書き換え例外

さて、私は例外を追加する必要があります!これどうやってするの?現在、RewriteRule ([^.]+).html $1 [R=301,L]を使用してすべての.htmlURLを書き換えています

Google.html検証ファイルの例外が必要です。この例外を設定するにはどうすればよいですか?

これを試しましたが、機能しません。何か案は?
RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)/?

そして私は試しました

RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)

1
Jason

RewriteCondの後方参照($1など)がRewriteCondではなく、最後に一致したRewriteRuleのグループを参照しているため、機能していません。

代わりに次を試してください。

RewriteCond %{REQUEST_URI} !^/google(022e525bdb654772|b5e92d18c6640aeb)\.html
RewriteRule ([^.]+).html $1 [R=301,L]
3
Phil Ross

書き換えは順番に処理されます。通常の書き換えの前に、変更を加えないが、それ自体が最後の書き換えであることを宣言する書き換えを行います。

代わりに例外を処理して邪魔にならないようにすることができるときに、過去に読まなければならない、彼らが何についてではないかについての情報で書き直しを散らかすことは一般的に悪いことです。

RewriteRule ^/google022e525bdb654772.html$  -  [L]
RewriteRule ^/googleb5e92d18c6640aeb.html$  -  [L]
RewriteRule ([^.]+).html $1 [R=301,L]
0
Phil P