Реглярка для urlmanager

Статус
В этой теме нельзя размещать новые ответы.

SkiLLer

Гуру форума
Регистрация
22 Авг 2007
Сообщения
306
Реакции
64
Здравствуйте. Помогите составить регулярку вот для такого момента: в yii используется urlmanager, и нужно чтобы все запросы проходили через один контроллер, кроме запросов которые содержат site,admin,gii.
На сейчас получилось вот такое
PHP:
array('site/showPage','pattern' => "<page:(?!admin|gii|site)[a-zA-Z0-9_]+>","urlSuffix" => '/','caseSensitive' => false)
вроде и работает, но вот sitemap, например, не отрабатывает.
Надеюсь доступно описал.
 
Мало подробностей.
sitemap по какому адресу sitemap.xml?
это статичный файл или он формируется контроллером по запросу и если контролером, то каким?
а если статичный, то интересно htaccess или nginx переадресовывает все запросы на index.php или только для несуществующих файлов?
прописан ли 'defaultController'=>'in', в конфиге?
 
все переадресовывается на index.php, адрес -http://site.com/sitemap - это страница которая генерируется контроллером. Все генерируется контроллером SiteController, все страницы, но нужно все, которые не admin,site/*,gii отправлять на определенный экшн. Вот тут то и нужна правильная регулярка для urlmanager.
 
В таких случаях полезно давать больше примеров, но если я правильно понял, то так должно работать:
Код:
array('site/showPage','pattern' => "<page:(?!admin|gii|site/)[a-zA-Z0-9_]+>","urlSuffix" => '/','caseSensitive' => false)
 
Да, спасибо, подошло вроде, только экранировать надо было, вот такое сработало
PHP:
array('site/showPage','pattern' => "<page:(?!admin|gii|site\/)[a-zA-Z0-9_]+>","urlSuffix" => '/','caseSensitive' => false)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху