我正在为我的Web服务编写一个RESTful API。
我想以下模式的所有呼叫触发的是,位于/myserver/api/controller.php 模式的PHP文件是:
HTTP:/www.mydomain.com/api/user
HTTP:/www.mydomain.com/api/resourceRewriteCond 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
更新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 2011-01-20 19:41:46
这将无法正常工作......例如,它显示404为www.mydomain.com/api/user/123。 – 2011-01-20 19:47:28
也许你在httpd.conf中有AllowOverride None?用RewriteLog和RewriteLogLevel打开日志,看看发生了什么。 – Artefacto 2011-01-20 20:00:41