私は自分のWebサービス用のRESTful APIを作成しています。
は、私は次のパターンのすべてのコールが、それは/myserver/api/controller.php パターンで配置されているPHPファイルをトリガしたいのです:
ます。http:/www.mydomain.com/api/user
http:/www.mydomain.com/api/resource基本的にRewriteCond on .htaccess
、http://www.mydomain.com/api/のすべてのコールが*現在
を/api/controller.phpトリガすべき、私の.htaccessは/ APIであり、次のようになります。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . controller.php
UPDATE 1:
親ディレクトリで.htaccessファイルは次のとおりです。
RewriteEngine On
RewriteCond %{HTTP_HOST} !:9000$
RewriteCond %{SCRIPT_FILENAME} \.php$ [OR]
RewriteCond %{REQUEST_URI} ^$
RewriteRule ^(.*)$ http://%{HTTP_HOST}:9000/$1 [P,L]
RedirectMatch 301 /jobs$ http://someurl
RedirectMatch 301 /support/$ http://someurl
RedirectMatch 301 /jobs$ http://someurl
RedirectMatch 301 /someurlA http://someurlB
どのように私は.htaccessファイルを作成する必要がありますか?
ありがとうございます!
だから、問題は何ですか? – Artefacto
これは動作しません...たとえば、www.mydomain.com/api/user/123の404が表示されます。 –
httpd.confにAllowOverride Noneがありますか? RewriteLogとRewriteLogLevelを使ってログオンして、何が起きているのかを確認してください。 – Artefacto