?:
удаляет эту группу из выбора по этому у тебя будет перваяRewriteCond %{QUERY_STRING} (?:^|&)id\=(.+)(?:$|&)
RewriteRule ^cat/название/dir/1\.php$ /cat/название? [L,R=301]
RewriteRule ^category/category/(.*)/$ /category/$1/? [L,R=301]
# Включаем редиректы
RewriteEngine On
# по умолчанию путь будет начинаться с этой папки А не от корня физического дерева например /var/www/site.ru/web/upload
RewriteBase /
# эмм ну мы тут удаляем индекс пхп, я бы еще добавил метод пост но с вп не работал
RewriteRule ^index\.php$ - [L]
#видать от движка, но что-то кривое, по факту передаем в гет параметр все что перед files и admin
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
# если это файл
RewriteCond %{REQUEST_FILENAME} -f [OR]
# или директория OR меняет и на или
RewriteCond %{REQUEST_FILENAME} -d
#то -
RewriteRule ^ - [L]
#не уверен что это не костыли поправьте меня кто с вп работал
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
# тоже странное правило
RewriteRule . index.php [L]
# читай в прошлом посте
RewriteRule ^blog/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)$ /blog/article/$1/? [L,R=301]
RewriteRule ^blog/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)$ /blog/article/$1/? [L,R=301]
[0-9]{4}
- от нуля до 9, 4 раза подряд то есть эквивалент XXXX цифр (.*)
любое значение собрали в группу 1$1
- выводим значение 1 группы/?
- удаляем гет парметры. - опционально можно не делатьRewriteCond %{QUERY_STRING} (?:^|&)page\=(.+)(?:$|&)
RewriteRule ^cat/$ /cat/page/%1/? [L,R=301]
(?:^|&)
- это или?
или &
а ?:
исключает эту группу то есть она не становится $1(.+)
- первая група 1 символ и более%1
- эквивалент $1 но уже из RewriteCond /?
- удалить гет параметрыRewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteCond %{QUERY_STRING} !http(s|)://
# Убедимся что это не урл в GET
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.
RewriteCond %{REQUEST_FILENAME} !-f
#если это не файл
RewriteCond %{REQUEST_FILENAME} !-l
# и если это не линка
RewriteCond %{REQUEST_FILENAME} !-d
# и это не директория
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
# и это не нужный нам файл, от цикла
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
# то перенапраить все это лядство на него ;)
RewriteCond %{QUERY_STRING} (?:^|&)id\=1(?:$|&)
RewriteCond %{QUERY_STRING} (?:^|&)url\=test(?:$|&)
RewriteRule ^profile$ /test? [L,R=301]
RewriteCond %{QUERY_STRING} (?:^|&)id\=1(?:$|&)
RewriteCond %{QUERY_STRING} (?:^|&)url\=(.+)(?:$|&)
RewriteRule ^profile$ /%1? [L,R=301]
RewriteCond %{HTTP:X-HTTPS} !=1
RewriteCond %{REQUEST_URI} !^/folder/folder/file.php
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]