Laravel 5删除尾部斜杠时的不良行为 [英] Laravel 5 bad behaviour while removing trailing slash

查看:89
本文介绍了Laravel 5删除尾部斜杠时的不良行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在 mywebsite.com/laravel/下创建了一个Laravel项目.当我访问 mywebsite.com/laravel/test 时,一切正常,但是当我访问 mywebsite.com/laravel/test/时,我被重定向至 mywebsite.com/test .

I've created a Laravel project under mywebsite.com/laravel/. When I go to mywebsite.com/laravel/test, everything is ok, but when I go to mywebsite.com/laravel/test/, I'm redirected to mywebsite.com/test.

我的/laravel 目录中有文件 index.php .htaccess .这是我的 .htaccess 文件:

I have the files index.php and .htaccess in my /laravel directory. This is my .htaccess file:

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

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteBase /laravel
RewriteRule ^(.*)/$ /$1 [L,R=301]

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

我不知道为什么RewriteBase不起作用.我已经尝试过/laravel /laravel/ laravel ;没有任何作用.

I have no idea why RewriteBase doesn't work. I've tried /laravel, /laravel/ and laravel; nothing worked.

我的routes.php文件

My routes.php file

<?php
Route::get('/test/{name?}', 'MainController@index');

Route::group(['middleware' => ['web']], function () {
    //
});

推荐答案

解决方案正在改变

RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteRule ^(.*)/$ $1 [L,R=301]

在我的情况下,请清除浏览器中的缓存:).

And in my case clear cache in my browser :).

这篇关于Laravel 5删除尾部斜杠时的不良行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆