2015-12-06 2 views
-1

У меня проблема .. Я использую набор стартера yii2 с поддержкой prettyUrl. Он хорошо работает на моем локальном хосте. Но это не работает, когда я загружаю на свой сервер.Yii2 prettyUrl не работает

Вот мой код ...

.httacces

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

base.php

... 
'components' => [ 

    'urlManager'=>require(__DIR__.'/_urlManager.php') 
], 
... 

_urlManager.php

<?php 
return [ 
    'class'=>'yii\web\UrlManager', 
    'enablePrettyUrl'=>true, 
    'showScriptName'=>false, 
    'rules'=>[ 
     // url rules 
    '<controller:\w+>/<id:\d+>' => '<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
       '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
    ] 
]; 

До сих пор я просто отключил prettyUrl и это ks fine .. Почему мой prettyUrl не работает? Любые советы?

ответ

1

Попробуйте проверить, разрешен ли mod_rewrite на вашем веб-сервере. в Apache вы должны указать . Разрешить директиву должно быть установлено на ВСЕ.

вы должны увидеть что-то вроде этого

<Directory "/path/to/the/site/directory/"> 
    Options Indexes 
    FollowSymLinks MultiViews 
    AllowOverride All 
    Require all granted 
</Directory> 
1

Может быть связан путем проблемой

попробовать путь саморегулируемым в младший матрос как этот

... 
'components' => [ 
    'urlManager'=>require(__DIR__. DIRECTORY_SEPARATOR . '_urlManager.php') 
], 

...

0
you have wrong syntax at rules inside urlManager, it must be like: 


      'rules' => array(
       '<controller:\w+>/<id:\d+>' => '<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
       '<controller:\w+>/<action:\w+>' => '<controller>/<action>',), 
Смежные вопросы