gpt4 book ai didi

.htaccess - yii2 urlManager enablePrettyUrl 不起作用

转载 作者:行者123 更新时间:2023-12-04 20:59:38 30 4
gpt4 key购买 nike

在 Yii2 中,我无法启用漂亮的 url。

我的配置:

    'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
],

我的.htaccess:
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

我的脚本:
echo 'enablePrettyUrl: ';
echo Yii::$app->urlManager->enablePrettyUrl ? 'true ' : 'false';

echo '<br>';
echo 'enableStrictParsing: ';
echo Yii::$app->urlManager->enableStrictParsing ? 'true ' : 'false';

echo '<br>';
echo 'showScriptName: ';
echo Yii::$app->urlManager->showScriptName ? 'true ' : 'false';

echo Url::to(['/book/read', 't' => 'booktitle', 'c'=>'chaptertitle']);

脚本的输出:
enablePrettyUrl: true
enableStrictParsing: false
showScriptName: false

/book/read?t=booktitle&c=chaptertitle

显然,我没有得到漂亮的 Url。 为什么不?
  • 我们知道 enablePrettyUrl=== true
  • 我不相信我的 .htaccess
  • 有什么问题

    最佳答案

    你得到了漂亮的 URL。这是一个漂亮的网址

    /book/read?t=booktitle&c=chaptertitle

    一个丑陋的网址是
    index.php?r=book/read&t=booktitle&c=chaptertitle

    所以一切都在 yii2 中按预期工作。现在你可能想让它们更漂亮,在这种情况下,你可以添加到你的规则部分,比如
    'urlManager' => [
    'class' => 'yii\web\UrlManager',
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
    'book/read/<t>/<c>' => 'book/read',
    ]

    这将生成一个链接,看起来像
    book/read/booktitle/chaptertitle

    更改它以满足您的需求。无需更改 Controller 中的任何内容,它仍将接收 t 和 c 参数。

    关于.htaccess - yii2 urlManager enablePrettyUrl 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27827494/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com