ivan-lev: да и вообще, без загрузки mod_rewrite.. для каждого запроса...
1. Я тут /ru/forum/comment/16162095 вам написал, что mod_rewrite полюбому будет загружаться. Хоть инклуд используйте, хоть в 1 обработчик перенаправлять.
ivan-lev: 4. можно сделать полноценную обработку URL-ов без mod_rewrite, используя страницу ошибки 404, в которой уже обрабатывать навигацию.
2. Не получится т.к. все равно пройдет через mod_rewrite и WP, а WP сделает редирект c /?page=12 на /page/12/
---------- Добавлено 21.08.2019 в 20:19 ----------
Можно сделать, чтобы WP не делал такой редирект, но зачем, если можно вообще исключить WP...
ivan-lev: Вообще речь о том, что "если очень захотеть", то вообще все директивы Rewrite*** можно полностью убрать из .htaccess.. (начиная с Engine on).
Если захотеть, можно и горы свернуть и лоб об стену разбить.
---------- Добавлено 21.08.2019 в 18:06 ----------
ivan-lev: первая строчка "от wordpress" именно это и делает
средствами mod_rewrite ибо в apache по-другому не принято.
ivan-lev, как? Покажите пожалуйста, я действительно буду благодарен.
---------- Добавлено 21.08.2019 в 14:42 ----------
Каким образом у вас получится исключить запросы /?page=([0-9]+) без mod_rewrite, чтобы это было действительно оптимально, но не "сделал - потому что хотелось сделать"?
fackest1: ite .ru/?page=561#scroll редиректит на site .ru/detskiy-nevrolog/#scroll т.е. как будто это якорная ссылка на странице. Не идеально, но все равно неплохой вариант.
на стороне сервера такой якорь нельзя убрать.
ivan-lev: чё это?
как вы тогда без mod_rewrite перенаправите ссылки вида /?page=([0-9]+) в обработчик, чтобы:
ivan-lev: и построчное сравнение (поиск по ключу в массиве) на быстром php7.* ))
---------- Добавлено 20.08.2019 в 20:36 ----------
fackest1, еще учтите, что в таком исполнении ссылки вида "/?page=12" и "/?page=12&что-то" будут редиректить на один и тот же url. Если такое не нужно, можно так сделать:
Gerga, зачем мешать всё-в-одно?
Где мешанина? :)
да и вообще, без загрузки mod_rewrite.. для каждого запроса...
1. Я тут /ru/forum/comment/16162095 вам написал, что mod_rewrite полюбому будет загружаться. Хоть инклуд используйте, хоть в 1 обработчик перенаправлять.
4. можно сделать полноценную обработку URL-ов без mod_rewrite, используя страницу ошибки 404, в которой уже обрабатывать навигацию.
2. Не получится т.к. все равно пройдет через mod_rewrite и WP, а WP сделает редирект c /?page=12 на /page/12/
---------- Добавлено 21.08.2019 в 20:19 ----------
Можно сделать, чтобы WP не делал такой редирект, но зачем, если можно вообще исключить WP...
1. Ещё раз.. если убрать директивы RewriteEngine on - никакие rewrite-директивы обрабатываться не будут.
и тогда полностью отключить навигацию по сайту? :)
2. Если поставить строчку с index.php - выше директив, они также обрабатываться не будут.
Эту " RewriteRule ^index\.php$ - [L] " ?
RewriteRule разве не компонент mod_rewrite? :)
Вообще речь о том, что "если очень захотеть", то вообще все директивы Rewrite*** можно полностью убрать из .htaccess.. (начиная с Engine on).
Если захотеть, можно и горы свернуть и лоб об стену разбить.
---------- Добавлено 21.08.2019 в 18:06 ----------
первая строчка "от wordpress" именно это и делает
средствами mod_rewrite ибо в apache по-другому не принято.
Т.е. запросы на /?page=***.. можно обработать
таким образом вы не сможете отказаться от mod_rewrite, потому что раньше был парсинг директив RewriteEngine RewriteBase RewriteRule.
В моем видении, нужно раньше определить запросы /?page=*** и для них отключить mod_rewrite, чтобы условие:
не срабатывало.
Ну это ляповство. Не думаю, что так кто-то делает. Мы используем mod_rewrite и довольствуемся.
ivan-lev, как? Покажите пожалуйста, я действительно буду благодарен.
---------- Добавлено 21.08.2019 в 14:42 ----------
Каким образом у вас получится исключить запросы /?page=([0-9]+) без mod_rewrite, чтобы это было действительно оптимально, но не "сделал - потому что хотелось сделать"?
хоть и не самый лучший выход, но вполне рабочий (вполне возможно, что работать будет до какого-нибудь обновления)..
Да, но mod_rewrite все равно будет загружен :)
ivan-lev, в WP index.php занят.
А разве WP не использует mod_rewrite?
mod_rewrite в любом случае будет загружен, хоть делайте редирект через хуки WP, хоть через что-то еще.
RewriteCond %{QUERY_STRING} page=561 [OR]
RewriteCond %{QUERY_STRING} page=520 [OR]
RewriteRule ^/?$ https://site.ru/detskiy-nevrolog/? [R=301,L]
У вас тут ошибка. Главная тоже будет редиретить на https://site.ru/detskiy-nevrolog/.
Можете так исправить:
ite .ru/?page=561#scroll редиректит на site .ru/detskiy-nevrolog/#scroll т.е. как будто это якорная ссылка на странице. Не идеально, но все равно неплохой вариант.
на стороне сервера такой якорь нельзя убрать.
чё это?
как вы тогда без mod_rewrite перенаправите ссылки вида /?page=([0-9]+) в обработчик, чтобы:
и построчное сравнение (поиск по ключу в массиве) на быстром php7.* ))
Может я что-то не улавливаю?
Спасибо большое всем ответившим, особенно очень очень сильно благодарю Gerga, вопрос решен, спасибо Вам большое:
Пожалуйста :)
Gerga, всё спалил. Теперь не узнаем что ТС натворил
От блин, все испортил 🤣
да и вообще, без загрузки mod_rewrite.. для каждого запроса...
Так mod_rewrite полюбому будет загружаться. Хоть делайте на php, хоть через .htaccess. Удобнее конечно эти редиректы хранить не в .htaccess.
70 RewriteRule для каждого запроса и + 70 RewriteCond для главной - это много, я не знаю как это может сказаться.
Мне самому больше нравится вариант с делегированием в обработчик, а он уже пусть разбирается, кого-куда перенаправлять.
Вышенаписанные правила 301 редиректа не работают,
Так вы не правильно их установили.
Пример:
И ставьте свои правила выше правил WP. Так они будут приоритетнее.
Пример:
И так далее, всего примерно 70 редиректов.
Конечно это не очень хорошо.
---------- Добавлено 20.08.2019 в 20:11 ----------
Кстати, если домен не поменялся, можете так сделать:
---------- Добавлено 20.08.2019 в 20:36 ----------
fackest1, еще учтите, что в таком исполнении ссылки вида "/?page=12" и "/?page=12&что-то" будут редиректить на один и тот же url. Если такое не нужно, можно так сделать: