2014-10-10 46 views
1

我一直在爲我的API服務器使用Laravel,但是它需要大量的資源用於小任務,並且我們希望在不同的框架中編寫我們的API。除非我爲了可擴展性目的而完全分離我們的API,否則我是否可以暫時將所有/api/*請求重定向到api.php如何將/ api/*請求重定向到另一個文件?

這是我們的文件夾結構:

app 
vendor 
public 
    index.php 
    .htaccess 
    api.php 

這是我們.htaccess

<IfModule mod_rewrite.c> 

    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Excludes existing directories and files 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 

    # Handle Front Controller... 
    RewriteRule^index.php [L] 

</IfModule> 
+0

正如未來的一個說明, Laravel 5將具有路由緩存功能,這將有助於加速請求:https://laracasts.com/se Ries/whats-new-in-laravel-5/episodes/8 – kfriend 2014-10-10 16:02:43

+0

問題不是路由緩存,而是Laravel非常緩慢。 我今天已經用Klein重寫了我的API,每個請求只需要3-10MS。 Laravel僅僅在啓動階段就花費了70毫秒的時間,大約有5MB的資源。 無論如何,'route:cache'是一個非常無聊的解決方案。我可以在Laravel前面放置清漆來爲那些「靜態」頁面提供服務,而且它甚至不會加載Laravel。 無論如何,謝謝你的信息。 – Aristona 2014-10-10 19:47:36

回答

2

略低於R=301規則,你可以添加這樣的規則:

RewriteRule ^api/ api.php [L,NC] 
相關問題