0

させたい

http://localhost/demo/index.php?r=greeting

経由でアクセスする

http://localhost/demo/greeting

config/main.php で、私は

'urlManager'=>array(
            'urlFormat'=>'path',
            'showScriptName' => false,      
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
        ),

そして、私は以下を.htaccessに入れました

Options +FollowSymLinks
IndexIgnore */*
<IfModule mod_rewrite.c>
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
</IfModule>

私は得ることができます

http://localhost/demo/index.php/greeting

働いているが働いていない

http://localhost/demo/greeting

動作する理由は何ですか?

4

2 に答える 2

0

これは私のために働く...

    'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
        'showScriptName'=>false,
    ),

htaccess部分

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#otherwise forward to index.php
RewriteRule . index.php

あなたのもののように見えますが、.htaccess ファイルが保護されたフォルダーの外、つまり Web ディレクトリのルート フォルダー内にあることを確認する必要があります。

于 2013-03-21T20:14:40.570 に答える
-1
'urlManager'=>array(
        'urlFormat'=>'path',
                    'showScriptName'=>false,
        'rules'=>array(
                            'gii'=>'gii',
                            'gii/<controller:\w+>'=>'gii/<controller>',
                            'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>',

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

これを試してください。私のためのその仕事。また、これにはgiiurlの部分も含まれます。これを使用すると、次のURLを使用してgiiパネルを開くこともできますhttp://localhost/demo/gii

また、どの.htaccessでこの変更を行いましたか?

于 2013-03-21T13:02:55.090 に答える