Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2020
Помог: 0 раз(а)
RewriteEngine On
Первое правило срабатывает так как мне нужно
RewriteRule ^([a-z]+)?$ index.php?city=$1
но проблема с этим правилом
RewriteRule ^city$ magazinphe.p
при вводе city адресную строку, переход идет на индексную страницу. Файлы index.php и magazine.php лежат в одной директории.
Подскажите как настроить RewriteRule ^city$ magazinphe.p это правили?
miketomlin
Отправлено: 01 Декабря, 2020 - 21:17:30
Частый гость
Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016
Помог: 5 раз(а)
Смысл вам помогать? Я в соседней теме вам подробно расписал, как сейчас делают ЧПУ. А вы опять подсовываете нам древность, на которую все спецы уже давно забили и забыли, что там и как. Идите на серч и т.п. Там такие вопросы до сих пор актуальны
Мжет, тупо пересечение правил? Про флаг L почитайте. (Добавление)
Некоторые сейчас используют автоматический роутинг прямо по БД:
Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2020
Помог: 0 раз(а)
miketomlin пишет:
Смысл вам помогать? Я в соседней теме вам подробно расписал, как сейчас делают ЧПУ. А вы опять подсовываете нам древность, на которую все спецы уже давно забили и забыли, что там и как. Идите на серч и т.п. Там такие вопросы до сих пор актуальны
Мжет, тупо пересечение правил? Про флаг L почитайте. (Добавление)
Некоторые сейчас используют автоматический роутинг прямо по БД:
После в коде можно смело писать вывод $page['name'], чтобы на странице по адресу /moscow или /city/moscow увидеть «Москву»!
surin.89 пишет:
magazinphe.p
С бодуна что ль писали?
Не с бодуна, торопился просто)!
Спасибо Вам. Прочитал еще раз ваше первое письмо. Вроде начало что-то складываться в голове)
Попробую создать файл-обработчик. Чтобы не мучиться с htaccess.
Я новичок в этом деле, опыта мало, так что не судите строго. Еще использую не MySQL, а Платформа Parse.
surin.89
Отправлено: 03 Декабря, 2020 - 14:54:17
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2020
Помог: 0 раз(а)
surin.89 пишет:
miketomlin пишет:
Смысл вам помогать? Я в соседней теме вам подробно расписал, как сейчас делают ЧПУ. А вы опять подсовываете нам древность, на которую все спецы уже давно забили и забыли, что там и как. Идите на серч и т.п. Там такие вопросы до сих пор актуальны
Мжет, тупо пересечение правил? Про флаг L почитайте. (Добавление)
Некоторые сейчас используют автоматический роутинг прямо по БД:
После в коде можно смело писать вывод $page['name'], чтобы на странице по адресу /moscow или /city/moscow увидеть «Москву»!
surin.89 пишет:
magazinphe.p
С бодуна что ль писали?
Не с бодуна, торопился просто)!
Спасибо Вам. Прочитал еще раз ваше первое письмо. Вроде начало что-то складываться в голове)
Попробую создать файл-обработчик. Чтобы не мучиться с htaccess.
Я новичок в этом деле, опыта мало, так что не судите строго. Еще использую не MySQL, а Платформа Parse.
Если я правильно понял, то обработчик в упрощенном варианте выглядит ,примерно, так:
Создал файл обработчик со следующим кодом. В принципе, все срабатывает, но есть одно "но". Мне не нужно, чтобы, например, после перехода на index.php или magazine.php в адресной строке не отображался сам "index.php" и "magazine.php". Подскажите как это сделать? И вообще я правильно понял про единую точку входа и двигаюсь в правильном направлении? Заранее спасибо!
Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016
Помог: 5 раз(а)
surin.89 пишет:
В принципе, все срабатывает, но есть одно "но". Мне не нужно, чтобы, например, после перехода на index.php или magazine.php в адресной строке не отображался сам "index.php" и "magazine.php".
А в стартовом посте было нужно ;)
surin.89 пишет:
И вообще я правильно понял про единую точку входа и двигаюсь в правильном направлении?
Location – это внешний редирект! А мы пока что говорили только о внутреннем! В моей статье внешний редирект используется для автоматической коррекции тайпин-адресов, т.е. похожих по написанию. Вы сначала с основой разберитесь, а потом уже будете доп. плюшки прикручивать.
Осн. смысл единой точки входа – делать в ней все то, что вы в стартовом посте пытались делать в конфиге сервера (т.е. роутинг), и даже больше. Роутинг подразумевает подключение (файлов) частных обработчиков, а не внешний редирект по адресам с их именами. Если вы по слагу mag просто подключите (include/require) файл magazine.php, в нем будут доступны переменные $url[2], $url[3], если соответствующие компоненты пути существуют. Если не существуют, то при обращении к этим переменным будет возникать ошибка. Прежде чем что-то использовать в коде, нужно проверять доступность этого, например можно проверить кол-во (count) элементов в $url ;) (Добавление)
И сразу предостерегаю от кучи блоков вроде
Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2020
Помог: 0 раз(а)
[quote=miketomlin][/quote]
miketomlin пишет:
surin.89 пишет:
В принципе, все срабатывает, но есть одно "но". Мне не нужно, чтобы, например, после перехода на index.php или magazine.php в адресной строке не отображался сам "index.php" и "magazine.php".
А в стартовом посте было нужно ;)
surin.89 пишет:
И вообще я правильно понял про единую точку входа и двигаюсь в правильном направлении?
Location – это внешний редирект! А мы пока что говорили только о внутреннем! В моей статье внешний редирект используется для автоматической коррекции тайпин-адресов, т.е. похожих по написанию. Вы сначала с основой разберитесь, а потом уже будете доп. плюшки прикручивать.
Осн. смысл единой точки входа – делать в ней все то, что вы в стартовом посте пытались делать в конфиге сервера (т.е. роутинг), и даже больше. Роутинг подразумевает подключение (файлов) частных обработчиков, а не внешний редирект по адресам с их именами. Если вы по слагу mag просто подключите (include/require) файл magazine.php, в нем будут доступны переменные $url[2], $url[3], если соответствующие компоненты пути существуют. Если не существуют, то при обращении к этим переменным будет возникать ошибка. Прежде чем что-то использовать в коде, нужно проверять доступность этого, например можно проверить кол-во (count) элементов в $url ;) (Добавление)
И сразу предостерегаю от кучи блоков вроде
Даже на таком начальном уровне можно оптимизировать код. Почитайте мои ответы про массив $routes и т.п. тут: http://phpforum.su/index.php?showtopic=94970
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
про чпу нужно знать что поисковик не любит
1) многократный переброс делать плохо
2) привести строки к нужному регистру (/Аи или /аИ это разные страницы)
3) при переходе на ссылку /Аи нужно делать 301 с переходом на /аи и помним про правило 1
4) если ссылки нету то нужно выдавать 404
miketomlin
Отправлено: 09 Декабря, 2020 - 14:09:52
Частый гость
Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016
Помог: 5 раз(а)
DlTA пишет:
про чпу нужно знать что поисковик не любит
В этой теме речь прежде всего о реализации
DlTA пишет:
1) многократный переброс делать плохо
До 3 вкл. норм. Но в общем, да, чем меньше, тем лучше.
DlTA пишет:
2) привести строки к нужному регистру (/Аи или /аИ это разные страницы)
3) при переходе на ссылку /Аи нужно делать 301 с переходом на /аи и помним про правило 1
Так привести к нужному или понижать? Тут надо выбрать один из вариантов (Добавление)
Кириллицу в адресах сложнее обрабатывать (приводить к нужному регистру, понижать регистр), поэтому ее лучше совсем не использовать.
По идее должно быть два редиректа. Один фильтр на уровне Web-сервера для коррекции имени хоста (отбрасывания www.) и избавления от трэйлинг-слешей. Другой для понижения регистра и избавления от оставшихся множественных слешей. Простой вариант его реализации показан в статье по ссылке из соседней темы. (Добавление)
Редиректы форума прошу не учитывать
DlTA
Отправлено: 09 Декабря, 2020 - 16:07:47
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
miketomlin пишет:
До 3 вкл. норм. Но в общем, да, чем меньше, тем лучше.
НЕТ
гугл возмущается, яндекс возмущается. поэтому только 1 переход
miketomlin
Отправлено: 10 Декабря, 2020 - 08:04:19
Частый гость
Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016
Помог: 5 раз(а)
DlTA пишет:
гугл возмущается, яндекс возмущается.
Это другое. И тема вообще не про редиректы. Хорош оффтопить. (Добавление)
P.S. Для яши с гошей и делают только один. А если ты кардинально меняешь адресацию, например переезжаешь на др. домен и одновременно с этим меняешь внутр. адресацию (чего лучше не делать), то для этого есть спец. инструменты, например: http://u75[dot]ru/parking-filters http://u75[dot]ru/direct-redirect
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.