2016-04-14 2 views
0

Я создал модуль с именем запрос в моем проекте.Yii url manager для модулей не работает, давая 404

Если я бегу ниже строки http://enqphp.intermesh.net/index.php?r=enquiry/Enquiryser/index/ , тогда этот URL-адрес работает отлично. Но я хочу, чтобы быть коротким, как http://enqphp.intermesh.net/enquiry

Для этого я сделал некоторые изменения в моем main.php файл в URL manager разделе:

return array(
    'caseSensitive' => true, 
     'urlSuffix' => '/', 
     'showScriptName' => false, 
     'urlFormat' => 'path', 
    'rules' => 
    array(
    '/' => array('site/index'), 

    /* my files starting from here */ 
    '<modules>/<controller:\w+>/<id:\d+>' => '<modules>/<controller>/view', '<modules>/<controller:\w+>/<action:\w+>/<id:\d+>' => '<modules>/<controller>/<action>', 
    '<modules>/<controller:\w+>/<action:\w+>/*' => '<modules>/<controller>/<action>', 
    '/enquiry/'=>'enquiry/Enquiryser/index', 
    ), 
) 

Но это не работает, и метания 404 страница не найдена. Может ли кто-нибудь помочь мне в том, что мне не хватает?

+0

проверка погоды Htaccess существует на сервере также проверить переписать мод включить или нет? –

+0

Для модуля 'enquiry', что называется именем класса. Значит, когда вы создали модуль 'enquiry' -> Models, Controller & Views, созданный вместе с одним Enquiry.php. Верный ? –

+0

Да, имя контроллера - Enquiryser и действие, которое я вызываю, является индексом. – user3381968

ответ

0

Какой веб-сервер вы используете? Nginx, Apache?

Apache Чтобы скрыть index.php в ваших URL, вы можете добавить инструкции mod_rewrite в файле .htaccess в корне документа или в конфигурации виртуального хоста:

RewriteEngine on 

# prevent httpd from serving dotfiles (.htaccess, .svn, .git, etc.) 
RedirectMatch 403 /\..*$ 
# 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 

Nginx Вы должны имеет follwoing конфигурации Вашего сервера

location/{ 
     index index.html index.php; 
     try_files $uri $uri/ /index.php?$args; 
    } 
0

Вы можете ручная конфигурация из yii\web\Application путем добавления выше строк: /path/to/your_app/common/config/main.php:

'controllerMap' => [ 
    'abcd' => 'backend\controllers\BankController' 
], 

Так конфигурационный файл взгляд любит: enter image description here

Смежные вопросы