私は次の.htaccess
ファイルを持っています:
RewriteEngine On
RewriteBase /
RewriteRule ^plugins/.* pluginLoader.php [L]
RewriteRule ^settings\.php index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.art$ [OR]
RewriteCond %{REQUEST_FILENAME} /system/
RewriteRule .* index.php [L]
URLがディレクトリにある拡張子のない既存のファイルの名前を指すまで、期待どおりに機能しますplugins
。どうしてか分かりません。たとえば、/plugins/invoice/name.txt
ファイルがあります。
http://localhost/plugins/invoice/name.txt
uses pluginLoader.php as expected
http://localhost/plugins/invoice/name.
uses pluginLoader.php as expected
http://localhost/plugins/invoice/name
uses index.php! Why?
http://localhost/plugins/invoice/nam
uses pluginLoader.php as expected
.txt
または.php
拡張子を持つすべてのファイルに同じことが当てはまります。ファイルに.sql
拡張子がある場合、どちらも使用しpluginLoader.php
ませんindex.php
。404-not foundを送信します。
プリプロセッサはありますか?
また興味深いのは次のとおりです。
RewriteEngine On
RewriteBase /
RewriteRule ^plugins/.* pluginLoader.php [L]
RewriteRule ^settings\.php index.php [L]
最後の 4 行を削除すると機能します。ただし、URLhttp://localhost/plugins/invoice/fill
にはまだ 404 エラーが発生します。ファイルの名前が変更されると、URL が機能します。
神秘...