Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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 Yii2尾部斜杠始终显示在主URL上_Php_.htaccess_Yii2 - Fatal编程技术网

Php Yii2尾部斜杠始终显示在主URL上

Php Yii2尾部斜杠始终显示在主URL上,php,.htaccess,yii2,Php,.htaccess,Yii2,尾部斜杠总是出现在主URL上(www.test.com/)。 即使在键入正常url(如www.test.com)后,它也会被重定向到www.test.com/ 这是我的url配置: 'urlManager' => [ 'class' => 'yii\web\UrlManager', 'showScriptName' => false, 'enablePrettyUrl' => true, 'rules' =&

尾部斜杠总是出现在主URL上(www.test.com/)。 即使在键入正常url(如www.test.com)后,它也会被重定向到www.test.com/

这是我的url配置:

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'showScriptName' => false,
        'enablePrettyUrl' => true,
        'rules' => [

                   ...

                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

                ],
    ],

我希望主页像这样加载(www.test.com),并重定向到www.test.com,即使用户在url中键入www.test.com/,使用.htaccess删除尾部斜杠,也可以使用:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
确保在测试之前清除缓存,但应该可以正常工作

编辑:


你确定这不是你浏览器的行为吗?签入不同的浏览器。@Bizley这是真的。这是浏览器的行为。它是在Chrome上实现的,但不是在Firefox和Opera上。这可能在Chrome上解决吗?这只是一个显示URL的问题,纯粹是装饰性的。所有浏览器都以斜杠结尾URL,只是不是所有浏览器都显示它。Ok。谢谢你的解释。奇怪,我知道上面的作品。。。嗯,我添加了一个编辑供您试用。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
RewriteCond %{THE_REQUEST} //
RewriteRule .* $0 [R]