簡體   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