私は基本的に、次の .htaccess 行を使用して index.php からすべてを実行する自分用のカスタム フレームワークを開発しました。
RewriteRule .* index.php [QSA,L]
同じサーバー/ルート経由で実行する必要がある REST API を開発しました。次の URL を .htaccess に追加しようとしましたが、カスタム フレームワークに統合されたカスタム 404 でプロンプトが表示されました。基本的に、この行を無視して、カスタム フレームワークにRewriteRuleを使用しようとしています。
RewriteRule /api/v1/(.*)$ myAPI.php?request=$1 [QSA,NC,L]
API URLがクエリとして他のRewriteRuleに渡されないようにするにはどうすればよいですか
私の .htaccess は次のようになります
Options +FollowSymlinks
RewriteEngine on
RewriteOptions MaxRedirects=10
AddType "text/html; charset=UTF-8" html
AddType "text/plain; charset=UTF-8" txt
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# if file not exists
RewriteCond %{REQUEST_FILENAME} !-f
# if dir not exists
RewriteCond %{REQUEST_FILENAME} !-d
# avoid 404s of missing assets in our script
RewriteCond %{REQUEST_URI} !^.*\.(jpe?g|png|gif|css|js)$ [NC]
# rest api url
RewriteRule ^api/v1/(.*)$ /myAPI.php?request=$1 [QSA,NC,L]
# core framework url rewriting
RewriteRule .* index.php [QSA,L]
</IfModule>