2013-08-06 64 views
14

我想知道如何禁用laravel上的路由爲特定目錄?爲特定文件夾/路由禁用Laravel路由

我希望能夠從laravel運行我的主要網站(我將它重寫到框架中),但是我想保留我目前的論壇軟件!問題是,當laravel看到「本地主機/論壇」時,它會尋找論壇控制器或路由。我希望它只是去文字/論壇目錄..?

+2

安置自己的'routes.php'文件 – Andreyco

+0

@Andreyco你能不能幫幫忙? –

回答

2

您需要在您的.htaccess文件中進行排除。只需發送一切index.php規則之上,補充一點:

RewriteCond %{REQUEST_URI} !^/forums 

凡是與/forums開始將不會被髮送到Laravel。

(當然,這是假設你使用的是Apache)

+0

對於我來說,所有/ public中的文件通常不會對.htaccess進行任何更改。問題是像/ public/forum這樣的東西不會自動加載該路徑中的索引,它必須由/public/forum/index.php訪問,並且上述規則也沒有幫助。任何想法如何解決這個問題? – cen

1

根據您的routes.php文件,它應該工作。

  1. 你是不是在所有
  2. 如果 '論壇' 目錄/文件存在捕forum URL,URL不被改寫到Laravel的index.php

routes.php(我用這一個測試case)

Route::get('{slug}', function($slug){ 
    return $slug; 
}); 

文件結構

|- app 
|- public 
|--- index.php // Laravel's one 
|--- forum // directory for forum files 
|------ index.php // Forum's one 
.... 

使用此結構,URL不會被重寫爲Laravel的路由index.php文件。 如果我重命名/刪除forum文件夾URL被重寫。

它適合你嗎?

12

我不得不在公衆中加入這一行/的.htaccess

RewriteCond %{REQUEST_URI} !^/foldername 

此行之前(即重定向結尾的斜槓)

RewriteRule ^(.*)/$ /$1 [L,R=301] 
+0

工程像魅力!謝謝 –

+0

這一個工程。確保你正在更新。正確目錄的htaccess – Guy

5

隨着Laravel 4這些解決方案進行了爲我工作。我最終在公衆解決它通過將

RewriteRule ^(directory-name) - [L] 

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

前/的.htaccess