0

私は現在、ファイルから拡張子mod_rewriteを削除し、.HTMLそれらの使いやすいバージョンにリダイレクトするために使用しています。

pinterest.htmlとファイルを使用してgoogle.html、PinterestページとGoogleAppsアカウントを確認します。

mod_rewriteの場合、私はこれを使用しています:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

私の質問は、検証ファイルに関連するロジックと機能についてです。私が理解している目的は、で奉仕'x' fileすること'y' URLです。

それで、私がリダイレクトと削除のために役立ってexample.com/pinterest.htmlいるとしても、ファイルはいつものように読み取り可能であるため、干渉はないはずですよね?example.com/pinterest.HTML

4

1 に答える 1

1

2 つの特殊ファイルを書き換えないでください。cond regexp に負のアサーションを追加します。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(?!pinterest\.html|google\.html).*\.html\ HTTP/ 

PS。なぜ一致しないの%{REQUEST_URI} ですか?

RewriteCond %{REQUEST_URI} !(pinterest|google)\.html$
RewriteCond %{REQUEST_URI} \.html$

これを単純な正規表現に書き直しました。これは、2 つの特別なファイルには一致しないが、.htmlファイルに対する他の要求には一致するということです。

于 2013-03-15T19:42:37.857 に答える