1

私は正規表現に非常に慣れておらず、SEOの理由で保持したいいくつかのレガシー.htmlファイル(エイリアス)を含むいくつかのdrupalエイリアスを持っています。仮想ディレクトリにスラッシュを強制し、.htmlエイリアスにスラッシュを強制しないようにする必要があります。

これまでのところ、スラッシュを.htmlではなくディレクトリに追加するこのコードがありますが、それでもユーザーまたはエージェントは.html/にアクセスできます。このスラッシュの削除または404を書き直すのに役立ちます。

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#is not an htm/l file
RewriteCond %{REQUEST_URI} !\.html?$ [NC]
#does not end with a slash
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule ^(.+)$ http://www.example.com/$1/ [L,R=301]
4

1 に答える 1

0

のすぐ下にこれを追加してみてくださいRewriteBase

RewriteRule ^(.*)(\.html?)/$ /$1$2 [R=301,L]
于 2012-08-08T07:00:08.107 に答える