私は、API呼び出しを別のインデックスファイルにリダイレクトしようとするのに苦労しています。APIが.htaccessのURLにある場合、別の `index`ファイルにリダイレクトしますか?
URLの[domain-name]/API/*
を持つすべてのURLを別のスクリプト:API_index.php
にリダイレクトしたいとします。
私は私の.htaccessファイルに次のようにそれをやってみました:
RewriteEngine on
RewriteCond %{REQUEST_URI} /API/
RewriteRule . API_index.php [L]
RewriteRule ^(font-awesome|fonts|ajax|tools|log|documentation)($|/) - [L]
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|mp3|wav)$ index.php [NC,L]
this websiteこのURLによると、http://abayocms.dev/API/test、一致している必要がありますが、私はまだindex.phpにナビゲートされているのですか?
ANSWER
はどうやら.htaccessの[L]はURLのみを超える現在の反復を停止します。 最初のrewriteCond + Ruleを使用してAPI_indexファイルにリダイレクトすると、サーバーは新しいURL([some domain]/API_index.php
)で新しい繰り返しを開始します。
これは、このように、このシナリオでは、独自のルールを必要とindex.php
にリダイレクトされますまだ私の最後のルールによってcatched及びます:
RewriteEngine on
# Prevents redirecting API_index.php to index.php
RewriteRule ^API_index.php$ - [L]
RewriteCond %{REQUEST_URI} /API/
RewriteRule . API_index.php [L]
RewriteRule ^(font-awesome|fonts|ajax|tools|log|documentation)($|/) - [L]
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|mp3|wav)$ index.php [NC,L]
:
RewriteRule ^API_index.php$ - [L]
は
合計ファイルは次のようになります
@starkeenに大きな感謝の意を表します!
した後で次のように追加してみてください、
/API_index.php
手付かずを渡す必要がは、他のルールはありますか? – starkeen
いいえ、これはすべてです – Abayob