2

Yii1.x では、次のようなパスを追加するだけで済みました。

urlManager'=>array(
    'urlFormat'=>'path', 
    .............
)

しかし、Yii2 ではそれがなくなりました。次のようなクエリ文字列なしで URL を作成するにはどうすればよいですか http://example.com/forum/post/id/2014/make-yii2-work

編集

多くの回答が私の質問を誤解していたので、少し明確にさせてください。prettyUrl を有効にすることも、URL から index.php を非表示にすることも問題ありません。私の問題は、上記で尋ねたように、クエリ文字列のない URL をまったく作成できないことです

4

7 に答える 7

0

config.php追加コンポーネントで

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

.htaccessWeb ディレクトリ内のファイル

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

また、詳細な手順については、http: //fellowtuts.com/yii/creating-seo-friendly-url-in-yii-2-0-framework/を参照してください。また、最後に SEO の関連記事リンクを確認することを忘れないでください。フレンドリーな URL。

編集:私があなたを正しく理解していれば、BaseUrl ヘルパーを使用したいと考えています。次のように記述できます。

use yii\helpers\Url;

$path = 'forum/post/id/2014/make-yii2-work';
$url = Url::toRoute([$path]);

<!-- HTML -->
<a href="<?= $url; ?>">Make Yii 2 Work</a>

$pathデータベースから変数値を取得できる場所。

ソース:

http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html#toRoute()-detail http://www.yiiframework.com/doc-2.0/guide-helper-url.html

于 2015-03-02T16:34:54.077 に答える
0

config.php で

'urlManager' => [ 
 'enablePrettyUrl' => true, 
 'showScriptName' => false, 
],
于 2015-03-01T08:49:29.283 に答える
0

main.php で

'components' => [
    ....
    'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => 'false'
    ],
于 2015-03-01T08:06:30.420 に答える