Laravel trailing Slashes перенаправляет на localhost
Когда я пытаюсь это сделать
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>
Ответы
Ответ 1
Измените код следующим образом:
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]
Ответ 2
Если указанный выше метод не работает, очистите историю браузера с помощью кеш и повторите попытку.
Ответ 3
Я просто добавил это в мой .htaccess файл, и он работал нормально!
RewriteCond %{REQUEST_URI} !^
Ответ 4
Каталог моего проекта
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]
к
RewriteRule ^(.*)/$ /laravel_apps/li3/public/$1 [L,R=301]
теперь, если вы поместите косую черту в конец URL-адреса, он будет перенаправлен на ту же страницу