繁体   English   中英

如何在Yii中使用没有根路径的漂亮URL?

[英]How do I use pretty URLs in Yii without a root path?

我根据文档在Yii中打开了漂亮的URL

http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html

并且主页是可见的,但是当我尝试转到另一个URL时,它给了我一个错误。

http:// localhost:81 / xxx / web / shopping / search?q = toaster

在此服务器上找不到请求的URL / xxx / web / shopping / search。

我试图创建一个通用规则,但没有帮助。

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'enableStrictParsing' => false,
        'rules' => [
          // ...
          '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        ],
    ],

文档明确表示在路径中不包含子文件夹。

注意:具有服务器名称的规则不应在其模式中包括入口脚本的子文件夹。 例如,如果应用程序位于http://www.example.com/sandbox/blog下,则应使用模式http://www.example.com/posts而不是http://www.example.com / sandbox / blog / posts 这将使您的应用程序可以部署在任何目录下,而无需更改应用程序代码。

我必须明确列出每条路线吗? 我试图给出一条明确的路线

'shopping/search' => 'shopping/search',

但这没有帮助。

尝试这个

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

这是因为Apache。 如果不指向index.php ,Apache不知道将请求发送到哪里,并且是发出错误的那个。 这将默认为index.php

# For pretty URLs
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

https://komarashettettynageshrao.wordpress.com/2010/02/04/pretty-urls-in-yii/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM