我想知道如何禁用 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
您需要在.htaccess
文件中排除。在将所有内容发送到的规则上方index.php
,添加以下内容:
RewriteCond %{REQUEST_URI} !^/forums
任何以开头的内容/forums
都不会发送到 Laravel。
(当然,这是假设您使用的是 Apache。)
根据您的routes.php
文件,它应该可以工作。
forum
URLindex.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 会被重写。
对你起作用吗?
我需要在 Laravel 5.7 上排除 /billing url 所以这种方式对我有用:
Route::redirect('/billing', '/billing');
计费时位于: 我的计费文件夹位置
我正在使用 nginx,它对我有用:
location /your_folder {
try_files $uri $uri/ /your_folder/index.php?$args;
}