0

Web プロジェクトがあり、プロジェクト用に外部フォト ライブラリを作成しました。フォト ライブラリは Web ルート ディレクトリの外にあります。たとえば、Codeigniter プロジェクトは C:\wamp\www\myprject\application\ にありますが、フォト ライブラリは C の下にあります。 :\wamp\www\myprject\Lib\

私の .htaccess ファイル (アプリケーション フォルダーの下) は、以下のコマンドを使用してライブラリを正常に表示します。

.htaccessファイル

RewriteEngine on  
RewriteCond $1 !^(index\.php|images|Lib|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]

しかし、問題は、この .htaccess ファイルが、ライブラリ ディレクトリ内のすべての画像と共に error_log ファイルも表示していることです。この .htacess ファイルを非表示にするには、どのような変更を加える必要がありますか?(.jpg、gif、.bmp、.jpeg) ファイルを表示したいだけです。助けてください。ありがとうございます。

4

2 に答える 2

1

「FilesMatch」タグを使用して回避策を実行してください。

これを RewriteCond と RewriteRule の後に追加します。

<FilesMatch "Lib\.(htaccess|htpasswd|ini|log|error_log|error|sh|inc|bak)$">
Order Allow,Deny
Deny from all
</FilesMatch>

注: パイプ ' | の間にエラー ログ ファイルの拡張子を追加してください。'記号。また、不要な拡張子を削除してください。

詳細: apache .htaccess を使用して特定のファイル タイプを非表示にする方法

于 2013-01-24T16:52:29.970 に答える
0

私は.htaccessの第一人者ではありませんが、次のように変更できるはずです。

## NOT TESTED ##
RewriteEngine on  
RewriteCond $1 !^(index\.php|images|Lib\/*\.jpg|Lib\/*\.gif|Lib\/*\.bmp|Lib\/*\.jpeg|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]

Lib\/*\.jpgLibディレクトリの下にあるjpgファイルの正規表現です

于 2013-01-24T13:20:37.550 に答える