2015-04-02 6 views
0

я хочу только SanphamController иметь от этого:SEO дружественных URL в Yii 1.1

MySITE/sanpham/chitiet/пробкового/нуок-Хоа-pháp-vuiton.html

в

MySITE/nuoc-hoa-phap-vuiton.html

Я его обработал, но все остальные контроллеры (CartController и т. д.) на моем сайте больше не запускаются, он считает, что контроллер является элементом в SanPhamController.

Это мой код

.htaccess:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

В главном/config.php:

'urlManager' => array(
     'rules' => array(
      '/'=>'site/index', 
      '<view:(gioi-thieu|huong-dan|hinh-thuc-thanh-toan|dieu-khoan-dich-vu|chinh-sach-dich-vu)>' => 'site/page', 
      '<action:(lienhe|thanhtoan|dangnhap|dangky|dangxuat)>' => 'site/<action>', 
      'danh-muc/<slug:.*>'=>'sanpham/danhmuc', 
      'thuong-hieu/<slug:.*>'=>'sanpham/thuonghieu', 
      'tim-kiem/<slug:.*>'=>'sanpham/timkiem', 
      '<slug:.*>' => 'sanpham/chitiet', 
      '<controller:\w+>/<id:\d+>' => '<controller>/chitiet', 
      '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
      '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
     ), 
     'urlFormat' => 'path', 
     'urlSuffix' => '.html', 
     'showScriptName' => false, 
), 

ответ

0

Просто добавьте это правило в верхней части менеджера URL массива:

"nuoc-hoa-phap-vuiton"=>"sanpham/chitiet/slug/nuoc-hoa-phap-vuiton" 
+0

nuoc-hoa-phap-vuiton - это всего лишь модель ite м в ActionChitiet. Я сделал это, но это путают с другим именем контроллера. пример: «mySite/cart/index» больше не работает. Как я могу запустить правило yii по умолчанию, прежде чем проверять, что это элемент в sanpham/chitiet или нет? –

+0

Вы можете поместить это правило в конце правил URL или в конце пользовательских правил URL (до правил yii по умолчанию). – hamed

+0

Рад помочь вам :) – hamed

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