4

現在、SlimFrameworkを使用してビルドされたapi.phpファイルがあります。api.mydomain.com(またはmydomain.com/api)のようなものを使用してAPIファイルを参照し、http://api.mydomain.comをベースURLとして使用して呼び出しを行いたいと思います。Slimのドキュメントでは、.htacessファイルに次のものを追加する必要があります。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

しかし、私が正しければ、要求されたファイルが存在しない場合は、index.phpファイルが返されます。api.mydomain.comまたはmydomain.com/apiからindex.phpへのリライトを設定するにはどうすればよいですか?私たちが見つけたものはすべて、.htaccessを使用してこれを構成することを示しています。

次の書き換えルールを使用しましたが、すべてのURLにスラッシュ('/')が追加され、Slimでもルートを再構成する必要がありました。(例:「/messages」は「/messages /」になり、「/ threads?id=123」は「/threads/?id = 123」になりました)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^api\.mydomain\.com [NC]
RewriteRule ^ api.php [QSA,L]
4

1 に答える 1

2

いくつかの複雑な apache ルール (含まれているリンクを参照) でこれを修正することは可能ですが、これは実際には Slim バージョン 2.2+ で対処されているため、slim のバージョンを更新するだけの方がはるかに優れています (phar バージョンを「2. 」に設定するか、 「2.2」)。

http://www.slimframework.com/install

Apache ルート (非推奨) を使用する場合は、次のリンクを確認してください。

https://webmasters.stackexchange.com/questions/23382/how-to-remove-trailing-slashes-from-url-with-htaccess

htaccess は .php、.html、および末尾のスラッシュを削除します

于 2014-06-08T03:44:25.930 に答える