2

これまでのところ、.htaccessファイルについてはほとんど理解していません。URLが存在し、filesフォルダーにあるファイルにリンクしている場合を除いて、すべてのリクエストをルートフォルダー内の1つのindex.phpファイルにリダイレクトしたいと思います。(例:example.com/files/picture.png)ルートディレクトリにあるhtaccessファイルと、必要に応じてファイルディレクトリにあるhtaccessファイルだけでこれを実現したいと思います。また、許可拒否のメッセージを表示したくありません。

今私はこれを持っています:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

ただし、URLが参照するファイルが存在する場合は、index.phpファイルにリダイレクトされません。何か助けはありますか?インターネットで探しましたが、何も見つかりませんでした。

4

1 に答える 1

5

このようなもの:

RewriteEngine on

RewriteCond %{REQUEST_URI}  /img/.+(gif|png|jpg)$
RewriteRule .* - [L]

RewriteCond %{REQUEST_URI}  /css/.+(css|png)$
RewriteRule .* - [L]

RewriteCond %{REQUEST_URI}  /js/.+css$
RewriteRule .* - [L]

RewriteCond %{REQUEST_URI}  /js/.+(js|htm)$
RewriteRule .* - [L]

RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

css javascriptファイルとimageファイルを除いて、すべてのリクエストはindex.phpファイルを通過します。この.htaccessファイルはcodeigniterフレームワークに使用したので、状況によって少し異なる場合があります。

于 2013-01-17T22:30:56.463 に答える