2012-06-30 38 views
4

我目前有一個使用Slim Framework構建的api.php文件。我想使用類似api.mydomain.com(或mydomain.com/api)的內容來引用API文件,並使用http://api.mydomain.com作爲基礎網址進行調用。苗條的文件要求以下要添加到您的.htacess文件:。子域上的Slim PHP REST API的.htaccess配置?

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

但如果我是正確的,返回index.php文件,如果請求的文件不存在。如何最好地設置從api.mydomain.com或mydomain.com/api到index.php的重寫?我們發現的一切都指向使用.htaccess進行配置。

我們使用了以下重寫規則,但是這導致在我們所有的URL上都附加了斜線('/'),這也需要我們在Slim中重新配置我們的路線。 (實施例: 「/消息」 成爲 「/消息/」 和 「/線程ID = 123?」 成爲 「/線程/ ID = 123?」)

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

回答

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 remove .php, .html and trailing slash