これは私の .htaccess ファイルです:
# NO LISTING OF INDEXES
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
# NIX THE www BECAUSE IT IS NO LONGER 1996 AND YOU'RE COOLER THAN THAT
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)/$ http://%1/$1 [R=301,L]
# NIX TRAILING SLASHES BECAUSE SEO IS A VENGEFUL GOD AND WHATNOT
RewriteRule ^(.*)/$ $1 [R=301,L]
# SEND ALL NON-FILE REQUESTS TO index.php FOR FIGURING OUT
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# ERROR DOCS
ErrorDocument 400 /error/400
ErrorDocument 401 /error/401
ErrorDocument 403 /error/403
ErrorDocument 404 /error/404
ErrorDocument 500 /error/500
/images/
フォルダー (またはサイト構造内の他の実際のフォルダー) にアクセスしようとすると/images
、リダイレクト ループに陥ります。
末尾のスラッシュ ルールの前に追加を試みRewriteCond %{REQUEST_FILENAME} !-d
たところ、適切なフォルダーに末尾のスラッシュが強制される限り、リダイレクトが「修正」されましたが、CMS の焼き付けられた URI クエリであるかのように、フォルダー名がスクリプトに渡されました。把握するため。
URIが誰かが違法にリストしようとしているフォルダーであるかどうかを確認することで、CMS側でこれを修正しようとすることができると思いますが、理想的には、.htaccess
フォルダーリストの呼び出しを禁止されたページの1つにリダイレクトする適切な解決策があると思います。そこで宣言すると便利です。誰か知っていますか?