htaccess Показать одну страницу вместо другой без смены урл

Ragnarok
На сайте с 25.06.2010
Offline
239
2883

нужно для поддомена показать одну из его страниц (категорию) вместо главной

если делать так:

    RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]

RewriteRule ^(|/)$ /catalog/kuhni/ [L,R]

То перекидывает на http://sub.domain.com/catalog/kuhni/ а нужно чтобы показывало эту категорию под видом главной

если убрать флаг R,- получаю 404

//TODO: перестать откладывать на потом
R
На сайте с 20.02.2015
Offline
59
#1

Ragnarok, R флаг убрать надо. просто L

если страницы нет, то будет 404

Ragnarok
На сайте с 25.06.2010
Offline
239
#2
rereg:
Ragnarok, R флаг убрать надо. просто L
если страницы нет, то будет 404

убираю R и получаю 404, но отдельная страница domain.com/catalog/kuhni/ есть (формируется тоже через ЧПУ)

R
На сайте с 20.02.2015
Offline
59
#3

http://www.opennet.ru/openforum/vsluhforumID8/6240.html

E=REQUEST_URI:/catalog/kuhni

и правки в скрипте те что по ссылке выше

Polkan
На сайте с 28.09.2005
Offline
102
#4

Ragnarok, возможно не в том месте поставили свои правила. Там у вас, вероятно, еще есть правила разбора чпу в нормальный урл. Они должны идти после ваших, а не до.

WordPress-плагин для Apishops (http://p-api-shop.ru/) P-API-Shop WooCommerce-плагин для Apishops (http://woo-apishops.ru/) Woo-Apishops
Ragnarok
На сайте с 25.06.2010
Offline
239
#5
rereg:
http://www.opennet.ru/openforum/vsluhforumID8/6240.html
E=REQUEST_URI:/catalog/kuhni
и правки в скрипте те что по ссылке выше

пробую, но не срабатывает

    RewriteRule	^/?$ /catalog/kuhni/	[E=REQUEST_URI:/catalog/kuhni/,L]
Polkan:
Ragnarok, возможно не в том месте поставили свои правила. Там у вас, вероятно, еще есть правила разбора чпу в нормальный урл. Они должны идти после ваших, а не до.

разбор чпу идёт ниже

R
На сайте с 20.02.2015
Offline
59
#6


RewriteRule ^$ /catalog/kuhni/ [E=REQUEST_URI:/catalog/kuhni/,L]

/bitrix/urlrewrite.php в самом верху


<?php
if (isset($_SERVER["REDIRECT_REQUEST_URI"])) $_SERVER["REQUEST_URI"] = $_SERVER["REDIRECT_REQUEST_URI"];
//... other code

или

RewriteRule ^$ /bitrix/urlrewrite.php [E=REQUEST_URI:/catalog/kuhni/,L]

и в /bitrix/urlrewrite.php правки те же

Ragnarok
На сайте с 25.06.2010
Offline
239
#7

Решилось добавлением флага N, как-то так

    RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^/?$ /catalog/kuhni/ [E=REQUEST_URI:/catalog/kuhni/,N]

и добавлением в самый низ файла dbconn.php

if ($_SERVER["REDIRECT_REQUEST_URI"])
$_SERVER["REQUEST_URI"] = $_SERVER["REDIRECT_REQUEST_URI"];

(проверил, без правки этого файла не работает)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий