Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проблемы с htaccess и ЧПУ
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
Есть файл с правилами, типа:
RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3
Хочу перенаправить со всех субдоменов, при условии, что путь с субдоменом: subdomen.site.ru/articles/
А направить на без субдомена (отрезать его).
Но сейчас проблема в другом - что бы не исправлял в htaccess, ничего не происходит. Как будто какой-то кэш используется. Писал правила с 301 редиректом. Может он что-то сделал?
Как заставить использовать измененных htaccess?
esterio
Отправлено: 13 Января, 2013 - 10:47:05
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
esterio пишет:
Ето называетьсяфронт контролером
Вот здесь я уже писал как такое делать
http://forum.php.su/topic.php?forum=71&topic=8633&postid=1358032705#1358032705
спасибо конечно, но я ничего не понял из приведенного примера.
Что нужно сделать, чтобы кэш этот обновлять при необходимости или на время экспериментов?
А еще лучше, помогите, пожалуйста, сформировать нужные ЧПУ.
Как и писал выше, нужно при запросе каталога статей отрезать субдомены (это разные города) и направлять в каталог статей на основном домене.
Есть правила для создания ЧПУ из динамических урл. Поэтому новые правила нужно писать вверху кода и с окончательным параметром (указать L, вроде). А также не знаю, какие правила писать, то ли уже готовые ЧПУ урл перенаправлять, то ли динамические с параметрами $1, $2 и т.д. (в 1-м посте пример правил указал)
Сделал:
Но ничего не работает. Получилось только сделать для ссылки раздела. А если обращаться к категории статей или просмотру статьи, то правило не работает. Пробовал и условия убирать, менять, ничего не получается.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
1. все запросы обрбляет один файл index.php
2. пропускаются файлы которые существуют и директории
3. все сабдомены должны иметь в качестве documentroot тодну папку
remenikomer
Отправлено: 13 Января, 2013 - 11:39:19
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
esterio пишет:
1. все запросы обрбляет один файл index.php
2. пропускаются файлы которые существуют и директории
3. все сабдомены должны иметь в качестве documentroot тодну папку
я с полу слова не могу понять... я php знаю, не профи, но знаю. А htaccess не знаю. Только вот сейчас стал изучать, т.к. столкнулся с необходимостью.
Субдомены - виртуальные.
Я сделал так:
и все субдомены стали переадресовываться. Но мне нужно только субдомены по указанному пути, точнее разделы статей на всех субдоменах, а другие разделы на них так как и есть.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
RewriteRule ^(.*)$ http://site[dot]ru$1 [R=302,L]
Неверно, может так RewriteRule .* http://site[dot]ru [L]
Зачем 302 ответ. Если будет поисковый бот, то ему не нужно знать что у вас там куда перенаправляеться
remenikomer
Отправлено: 13 Января, 2013 - 12:04:46
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2013
это куда, вместо моих строк? А как же раздел статей?
esterio пишет:
Зачем 302 ответ. Если будет поисковый бот, то ему не нужно знать что у вас там куда перенаправляеться
Как раз это для поискового бота. Чтобы убрать дубли со всех городов и сделать их только для основного.
Вообще-то я делаю 301 редирект. Но т.к. у меня непонятный кэш какой-то, то я попробовал 302 редирект (временный).
Сейчас некоторые урл не изменяются даже при смене htaccess. Его меняю, а урл как были старые, так и остаются и не меняются никак. Скинуть чего - не знаю.
Идем по шагам. И так припустим мы запрашиваем страницу example.com/about/us1.
1. ключаем реврайт
2. проверяем есть ли такая папка
3. проверяем есть ли такой файл
4. всю строку запроса(а именно /about/us1) помещяем в GET парпаметр route
В итоге у нас запрос следующий example.com/index.php?route=/about/us1
Ни для браузера ни для бота даный процес не виден. Он твердо уверен что такой файл существует
Покинул форум
Сообщений всего: 11
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
но это не то вроде как.
Мне не нужно править php, да и не могу я его исправить, т.к. он под zend. Мне лишь нужно избавить статьи в разных городах от поисковиков, чтобы не было дублей.
Поэтому нужно сделать 301 редирект. А т.к. php закодирован, значит можно только прописывать в htaccess - работать с тем, что есть.
все преобразования урл из динамики в статику сделаны (ЧПУ). Нужно только добавить исключения для разделов статей на всех субдоменах. (Добавление)
кэш то у htaccess есть какой-то? Его как-то можно обновлять? А не то один субдомен редиректиться до сих пор, хотя в htaccess давно все правила удалил
И сервер выдает ошибку. Если использовать одно из двух условий, то они срабатывают. Параметр [and] ведь вроде так указывается. А не хочет срабатывать. Может чего не так делаю?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.