Задать вопрос
@Otrivin
junior full-stack сисадмин

Где найти мануал по построению htaccess?

Здравствуйте!

Существует ли какой-то мануал по htaccess? Не просто сборник решений, а именно объяснение, как правильно собрать регулярное выражение, какой тип условия использовать в том или ином случае (request_uri или же query_string, например), как указывать шаблон для подстановки и как формировать окончательный подстановочный шаблон?

Часто возникает необходимость правки htaccess, но глубоких знаний принципов составления правил нет - обхожусь шаблонами из Сети. Иногда возникают ситуации, когда не могу составить правило. Например:
http://site.com/blog/?limitstart=0
Вот как из таких url отсекать параметр limitstart?

Пробовал наугад
RewriteCond %{REQUEST_URI} /(.*)\?limitstart=0 [NC]
RewriteRule .* /$1 [L,R=301]

чтобы решение было универсальным для любой категории, но, увы, не работает - я не знаю логику htaccess на должном уровне.
  • Вопрос задан
  • 397 просмотров
Подписаться 5 Оценить Комментировать
Решения вопроса 2
@Otrivin Автор вопроса
junior full-stack сисадмин
Единственные 2 толковые статьи, которые смог найти - max22.ru/server/htaccess
webcache.googleusercontent.com/search?q=cache:PfDO...
--------------
Upd.
https://www.imbf.org/seo-vebmaster/htaccess-sintak...
Ответ написан
Комментировать
@mletov
Вас интересует именно та часть .htaccess, которая за реврайты отвечает?

1) Почитайте про переменные окружения в PHP
{REQUEST_URI} и {QUERY_STRING} вами упомянутые как раз они и есть.

2) Почитайте про синтаксис регулярных выражений и попрактикуйтесь в их построении на каком-нибудь онлайн тренажере, например, www.pcre.ru/.

3) Погуглите .htaccess + modrewrite

А потом попробуйте объединить в голове полученные знания, поставьте себе задачу прописать правила для страниц такого-то вида с такими-то GET параметрами.
Так чтобы все сразу и в одном месте вы вряд ли найдете
RewriteEngine On
RewriteCond %{QUERY_STRING} ^limitstart=([0-9]*)$
RewriteRule ^(.+)$ /$1? [R=301,L]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы