laravel 尾部斜杠重定向到本地主机
Posted
技术标签:
【中文标题】laravel 尾部斜杠重定向到本地主机【英文标题】:laravel trailing Slashes redirect to localhost 【发布时间】:2014-03-11 05:26:36 【问题描述】:当我尝试这个时
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]
【讨论】:
我试了一下,现在重定向到localhost/C:/xampp/htdocs/Testlaravel/public/users/login 好的,我添加了 RewriteBase /Testlaravel/public/ 现在它可以工作了 :) 对我来说,这行: RewriteBase /Testlaravel/ 有效,因为我没有使用公用文件夹并摆脱了它。谢谢。 这对我不起作用。http://localhost/newproject/public/login/
工作正常。但是http://localhost/newproject/public/login/
会重定向到http://localhost/login
@kupendra:每个人的问题都不一样,这不是你的问题的答案。发布一个新问题,我们会对此进行调查。【参考方案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]
现在,如果您在网址末尾添加一个斜杠,它将重定向到同一页面
【讨论】:
以上是关于laravel 尾部斜杠重定向到本地主机的主要内容,如果未能解决你的问题,请参考以下文章
javascript 使用AWS Lambda重定向到CloudFront上的尾部斜杠。 (所有这一切都因为S3使用302重定向而不是301)