2013-08-06 67 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