Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Slim框架:没有尾部斜杠的主页路由_Php_.htaccess_Routing_Slim - Fatal编程技术网

Php Slim框架:没有尾部斜杠的主页路由

Php Slim框架:没有尾部斜杠的主页路由,php,.htaccess,routing,slim,Php,.htaccess,Routing,Slim,使用Slim 3,我希望我的主页URL是www.domain.com,而不是www.domain.com/ 此路由将所有主请求重定向到www.domain.com/ $app->get('/', function ($request, $response, $args) { }); 但是这个给了我错误 $app->get('', function ($request, $response, $args) { }); 我使用的是standard.htaccess: Rewrit

使用Slim 3,我希望我的主页URL是
www.domain.com
,而不是
www.domain.com/

此路由将所有主请求重定向到
www.domain.com/

$app->get('/', function ($request, $response, $args) {

});
但是这个给了我错误

$app->get('', function ($request, $response, $args) {

});
我使用的是standard.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
我认为这是一个共同的问题。这方面最好的解决方法是什么

编辑:


有什么诀窍或解决方法可以使主页url看起来像地址栏上没有斜杠一样?

第一个
/
是HTTP规范所要求的。如果您在Firefox中使用LiveHTTPHeaders检查实际发送的标题,您会看到:

GET / HTTP/1.1 Host: stackoverflow.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-GB,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Cookie: prov=6c390324-a9bb-439b-872e-ab428c1c136d; __cfduid=dd9fcf26e8242833656cda6fbe7719d851450684069; _ga=GA1.2.1110081223.1450684070 Connection: keep-alive GET/HTTP/1.1 主机:stackoverflow.com 用户代理:Mozilla/5.0(Macintosh;英特尔Mac OS X 10.11;rv:45.0)Gecko/20100101 Firefox/45.0 接受:text/html、application/xhtml+xml、application/xml;q=0.9,*/*;q=0.8 接受语言:en-GB,en;q=0.5 接受编码:gzip,deflate DNT:1 Cookie:prov=6c390324-a9bb-439b-872e-AB428C136D__cfduid=dd9fcf26e8242833656cda6fbe7719d851450684069_ga=GA1.2.1110081223.1450684070 连接:保持活力 从请求行(
GET/HTTP/1.1
)中可以看到,浏览器会自动为您添加首字母
/
,如的第5.2.1节所述:


请注意,绝对路径不能为空;如果原始URI中没有,则必须将其指定为“/”(服务器根)。

这不是常见问题。域后的第一个尾随斜杠始终是必需的,并且生成的请求总是相同的。有很多网站,它们的主页没有使用尾随斜杠。StackOverflow本身就是一个例子。不,您的浏览器可能会选择不显示它,但它确实存在。它始终是请求URI的第一个字符。它不是域的一部分。