【发布时间】:2016-11-27 22:41:02
【问题描述】:
当我输入一个网址时,会自动添加一个斜杠。
为什么?
例如,我输入:
example.com/path
它变成:
example.com/path/
我的 .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 ^(.*)/$ /$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}]
AddType 'text/css; charset=UTF-8' css
</IfModule>
【问题讨论】:
-
是的。实际上,执行所有路由的是 index.php 所在的 public/ 目录
-
如果您的 URL 指向一个目录,则 Apache 出于安全原因会自动添加尾部斜杠。
-
@anubhava 谢谢。更好地为这个问题创建一个正确的答案(而不是评论)并添加一些引用或来源。
-
好的,已经在下面添加了答案。