Как задать правило для urlManager?

Доброго времени суток! В /frontend/views/site/ сохраняются файлы вида RU_ch_sitemap.xml, RU_en_sitemap.xml и тд. Какое правило нужно прописать в urlManager чтоб при переходе на mysite.com/RU_ch_sitemap.xml открывался соответствующий xml-файл?
  • Вопрос задан
  • 29 просмотров
Решения вопроса 1
Если файлы сохраняются не в web, то не стоит без крайней необходимости давать к ним прямой доступ. Сделайте специальный контроллер с методом который будет отдавать эти файлы
Условно:
class DataController {
  public function actionGetSitemap($lang) {
    return file_get_contents(Yii::getAlias('@app/storage') . '/'.$lang);
  }
}


Тогда правило можно записать как-то так:
'/<lang:\w+>_sitemap.xml' => 'data/get-sitemap',
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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