Laravel завершает косую черту, перенаправляющую на локальный хост

Когда я попробую это

http://localhost/Testlaravel/public/users/login

оно работает. Но когда я пытаюсь

http://localhost/Testlaravel/public/users/login/ 

он перенаправляет меня на

http://localhost/users/login/

Есть идеи, почему?

Это мой файл htaccess

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

    RewriteEngine On

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

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

person user3213240    schedule 12.02.2014    source источник


Ответы (4)


Измените свой код на это:

Options -MultiViews
RewriteEngine On
RewriteBase /Testlaravel/public/

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

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
person anubhava    schedule 12.02.2014
comment
я пробовал, но теперь он перенаправляется на localhost/C:/xampp/htdocs/ Testlaravel/public/users/логин - person user3213240; 12.02.2014
comment
хорошо, я добавил RewriteBase/Testlaravel/public/ и теперь он работает, спасибо :) - person user3213240; 12.02.2014
comment
Для меня сработала строка: RewriteBase /Testlaravel/, так как я не использую общую папку и избавилась от нее. Спасибо. - person shasi kanth; 11.09.2014
comment
Это не работа для меня. http://localhost/newproject/public/login/ работает нормально. Но http://localhost/newproject/public/login/ перенаправит на http://localhost/login - person kupendra; 01.04.2015
comment
@kupendra: Проблемы у всех разные, это не ответ на вашу проблему. Опубликуйте новый вопрос, и мы рассмотрим его. - person anubhava; 01.04.2015
comment
@anubhava у меня такая же проблема - person kupendra; 01.04.2015
comment
Он перенаправляет именно туда, куда мне нужно, но теперь я получаю страницу с ошибкой 500. - person sr9yar; 25.12.2016

Если вышеуказанный метод не работает, очистите историю браузера с помощью кеша и повторите попытку.

person Rana    schedule 10.01.2016

Я только что добавил это в свой файл .htaccess, и все заработало!

RewriteCond %{REQUEST_URI} !^
person Tiago Gouvêa    schedule 14.06.2016

Каталог моего проекта

c:\wamp\www\laravel_apps\li3\

и изменил .htaccess внутри общей папки на следующий

<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 ^(.*)/$ /laravel_apps/li3/public/$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>

я только что заменил

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

to

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

теперь, если вы поместите косую черту в конце URL-адреса, он будет перенаправлен на ту же страницу

person Karthick    schedule 23.06.2017