Вопрос по frameworks, yii, php – Как настроить URL дружественных в YII Framework автоматически

7

Я просто изучаю yii Framework и читаю этот урок околоyii как настроить URL

но я понятия не имею, предположим, у меня есть 10 контроллеров, я должен определить один за другим контроллеры в файле конфигурации? Есть ли лучший способ настроить дружественный URL-адрес, например www.yoursite.com/yourController/yourAction/yourID для всех контроллеров?

Я думаю, что codeigniter сделал это автоматически ... как насчет yii?

Ваш Ответ

2   ответа
1

В Yii также есть автоматическая генерация URL. Например просто напишите в своем шаблоне такой URLwithout ручной маршрут:

<?php echo CHtml::link('topic title',array('topic/view','id'=>$topic->id,'var'=>'123')); ?>

И представленный URL будет следующим:

/topic/view/id/1/var/123

Затем в нашем действии метод actionView () мы используем эти параметры:

...
$id=$_GET['id'];
$var=$_GET['var'];
...
19

В /protected/config/main.php добавить ..

    'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName' => false,      
        ),
    ),

В вашем веб-корне .htaccess ..

Options +FollowSymLinks
IndexIgnore */*
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
Я последовал как твой ответ. но я думаю, что мне не повезло. Я раскомментирую urlManager, когда создаю приложение с помощью yii в [app root] /protected/config/main.php. И я добавляю ваш .htaccess в мой [app root] /. Htaccess. но я получил ошибку 404. Пожалуйста, помогите мне решить.
Я бы хотел отдать +10 голосов за этот ответ, так как нахождение этого сэкономило бы мне час поиска и борьбы за то, чтобы заставить его работать должным образом.
@ tharsoe Я получил ошибку 404, и мой файл .htaccess находился не в корневом каталоге, а внутри защищенной папки. Я перенес это в корень. (то же место, что и index.php), и он начал работать правильно.

Похожие вопросы