gpt4 book ai didi

laravel - 到公共(public)图像文件夹的路由未触发

转载 作者:行者123 更新时间:2023-12-02 10:19:07 25 4
gpt4 key购买 nike

我在 laravel 5.2 中有以下路线

Route::get('images/{filename}', function ($filename)
{
if($filename)
{
return redirect('/home');
}
});

如果有人输入以下网址:www.mydomain.com/images/image_abc123.jpg,我希望它将被重定向到www.mydomain.com/home。但路线没有触发,而是显示图像。

有什么建议吗?谢谢!

编辑:这是/public 目录下我的 .htaccess,laravel 5.2 的默认文件

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

最佳答案

这可能是因为您的网络服务器。常见的默认值通常是这样的。

server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;

server_name cards.foo *.cards.foo;
root /var/www/cards/public;

index index.php;
include php.conf;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}
}

注意 try_files 指令。这是告诉网络服务器:

  1. 如果请求是现有文件,请打开它。
  2. 如果请求是现有目录,则将其编入索引。
  3. 否则,将目录作为参数传递给/index.php。

因此,在第一次传递“该文件存在吗?”时,它会说"is"并 100% 绕过 PHP。您会想要改变这一点。

关于laravel - 到公共(public)图像文件夹的路由未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36993668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com