2010-10-27 3 views
2

Предположим, что у меня есть сайт, на котором работает CakePHP, и у меня есть префикс «продукт».Использовать домен как «префикс» на CakePHP

У меня есть много страниц с URL, как:

http://mysite.com/produt/blue-shirt/details 
http://mysite.com/produt/blue-shirt/order 
http://mysite.com/produt/skate/details 
http://mysite.com/produt/sun-glasses/vendors 

Теперь мне нужно использовать домен как http://mysite-blue-shirt.com/ как «ярлык» в голубой рубашке продукта, и мои адреса станут:

http://mysite-blue-shirt.com/details 
http://mysite-blue-shirt.com/order 

Что мне нужно сделать?

Я думаю, что это что-то с .htaccess в корне сайта, за пределами каталога app.

Вот текущий синтаксис:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

ответ

1

Попробуйте это:

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteCond %{HTTP_HOST} ^mysite-blue-shirt\.com 
    RewriteCond %{REQUEST_URI} !^/product/blue-shirt 
    RewriteRule ^(.*)$ app/webroot/product/blue-shirt/$1 [L] 

    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

Первая строка проверяет имя сайта. Второй проверяет, не переписана ли она на синюю майку. Последняя строка выполняет переписывание.

+0

Не должно быть 'RewriteRule^(. *) $ App/webroot/index.php? url = product/blue-shirt/$ 1 [L] '? –

+0

Это тоже работает. Взгляните на файл .htaccess в app/webroot. Было бы лучше переписать вещи так, как показывает мой отредактированный ответ. Или вы можете добавить флаг QSA в свое правило, чтобы присоединить строки запроса. Не забудьте тщательно протестировать это, так как угловые случаи могут легко развиваться (например, перенаправление из Cake). – RabidFire

0

Для внешнего мира, чтобы увидеть это, вы должны зарегистрировать MySite-голубую рубашку и все другие варианты.

+1

Я не говорю о доменах ... Я спрашиваю о том, как я это делаю **, используя htaccess или hackin в CakePHP :) –

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

  • Нет связанных вопросов^_^