我想知道如何在特定目录的laravel上禁用路由?
我希望将我的主要网站从laravel(我将其重写到框架中)运行,但我想保留我当前的论坛软件!问题是,当laravel看到“localhost / forums”时,它会查找论坛控制器或路由。我想它只是去文字/论坛目录..?
答案 0 :(得分:13)
我必须在public / .htaccess
中添加此行RewriteCond %{REQUEST_URI} !^/foldername
在此行之前(重定向尾部斜杠)
RewriteRule ^(.*)/$ /$1 [L,R=301]
答案 1 :(得分:6)
使用Laravel 4这些解决方案都不适用于我。我最终通过放置
解决了这个问题RewriteRule ^(directory-name) - [L]
前
RewriteRule ^(.*)/$ /$1 [L,R=301]
在public / .htaccess
答案 2 :(得分:3)
您需要在.htaccess
文件中排除。在将所有内容发送到index.php
的规则上方,添加以下内容:
RewriteCond %{REQUEST_URI} !^/forums
任何以/forums
开头的内容都不会发送给Laravel。
(当然,假设您使用的是Apache。)
答案 3 :(得分:1)
根据您的routes.php
文件,它应该有效。
forum
网址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。
它对你有用吗?
答案 4 :(得分:0)
我正在使用nginx,对我有用:
location /your_folder {
try_files $uri $uri/ /your_folder/index.php?$args;
}
答案 5 :(得分:0)
我需要在Laravel 5.7上排除/ billing网址 所以这种方式对我有用:
Route::redirect('/billing', '/billing');