我想知道如何在Laravel中禁用特定目录的路由?
我希望将我的主网站使用Laravel(我正在将其重写为框架),但我想保留当前的论坛软件!问题是,当Laravel看到“localhost/forums”时,它会查找一个论坛控制器或路由。我希望它只是简单地进入字面上的/forums目录..?
我想知道如何在Laravel中禁用特定目录的路由?
我希望将我的主网站使用Laravel(我正在将其重写为框架),但我想保留当前的论坛软件!问题是,当Laravel看到“localhost/forums”时,它会查找一个论坛控制器或路由。我希望它只是简单地进入字面上的/forums目录..?
我不得不在public/.htaccess中添加这行代码。
RewriteCond %{REQUEST_URI} !^/foldername
在这行代码之前(重定向尾随斜杠)
RewriteRule ^(.*)/$ /$1 [L,R=301]
在Laravel 4中,这些解决方案都不适用于我。最终,我通过放置
RewriteRule ^(directory-name) - [L]
之前
RewriteRule ^(.*)/$ /$1 [L,R=301]
您需要在您的.htaccess
文件中进行排除。 在将所有内容发送到index.php
的规则之上,添加以下内容:
RewriteCond %{REQUEST_URI} !^/forums
任何以 /forums
开头的内容都不会被发送到 Laravel。
(当然,这是假设您正在使用 Apache。)
routes.php
文件,它应该可以工作。
forum
URL。index.php
。routes.php
(我在测试用例中使用了这个)
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将被重写。
对您有用吗?
我正在使用nginx,它对我很有效:
location /your_folder {
try_files $uri $uri/ /your_folder/index.php?$args;
}
routes.php
文件。 - Andreyco