2013-11-20 2 views
0

В моем веб-приложении я не могу изменить дружественные URL-адреса. В некоторых блогах я читал, что это делается путем изменения файла main.php и редактирования файла .htaccess. Но я не могу найти файл .htaccess в любом месте. Я также попытался отредактировать/etc/apache2/sites-available/default. Но это не сработало. Кто-нибудь может мне с этим помочь?. имя моей заявки является «электрическим». Мой/и т.д./apache2/сайты-доступные/файлы по умолчаниюyii framework in php

<VirtualHost *:80> 
    ServerAdmin [email protected] 

DocumentRoot /var/www/electrical 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 
<Directory /var/www/electrical> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

Моего код защищаемый/конфигурация/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>', 
     ), 
    ), 

Я хочу использовать дружественные Urls, такие как локальные/электрические/home,/index и т. д. Пожалуйста, помогите мне, спасибо в Advance

ответ

0

Если вы используете apache, вам необходимо создать файл .htaccess в папке с исходным скриптом (основным файлом index.php). Содержимое файла .htaccess должно быть:

Update: Изменены .htaccess правила к тому, что упоминается в документации официальный Yii:

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 

, как упоминалось в этой вики: http://www.yiiframework.com/wiki/53/using-search-engine-and-user-friendly-urls/

Также измените файл default в /etc/apache2/sites-available/, чтобы также содержать:

<Directory /var/www/> <--- ***root directory*** 
Options Indexes FollowSymLinks MultiViews 
AllowOverride all <---- ***important*** 
Order allow,deny 
allow from all 
</Directory> 
+0

Я пробовал это, но не работает, он говорит, что «ERROR 404» не может решить запрос. – user2492854

+0

Попробуйте изменить файл '.htaccess', удалив две строки:' 'и' 'и посмотреть, что отображается ... может быть, модуль перезаписи не установлен на вашем сервере? Если это так, то вы получите ошибку сервера после того, как вы это сделали ... – fijas

+0

он говорит то же самое ... «ERROR 404» .unable для разрешения запроса. – user2492854

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