我正在爲我的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