/catalog/tovar1/
index.php?base=page&addr=$2
ndex.php?base
угадайте где он тут, притом это настолько частая ошибка что в некоторых версиях веб серверов ее специально пофиксили# 301 --- http://www.mydefile.ru/company/?section=torgovlya&PAGEN_1=9 => http://www.mydefile.ru/about/
RewriteCond %{QUERY_STRING} (^|&)section=torgovlya($|&)
RewriteCond %{QUERY_STRING} (^|&)PAGEN_1=9($|&)
RewriteRule ^company/$ /about/? [L,R=301]
# 301 --- http://site.ru/page.php?id=x => http://site.ru/page.php?fid=x
RewriteCond %{QUERY_STRING} (^|&)id\=(.+)($|&)
RewriteRule ^page\.php$ /page.php?fid=x [L,R=301]
RewriteEngine On
# Директива включает редиректы.
RewriteBase /
# Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
Options +FollowSymLinks
# Разрешает переход по символическим ссылкам.
php_flag display_errors off
# запретить отображение ошибок
php_flag allow_url_fopen off
# запретить использовать удаленые файлы
############################################################################
#### Выбор основного зеркала (с www или без www) ####
############################################################################
# 1. Удалить www
RewriteCond %{ENV:HTTPS} on
#Если включен https
RewriteRule .* - [E=SSL:s]
#То создаем переменную ssl с текстом s
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
# Проверяем, содержит ли домен www в начале URL.
RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
# Перенаправляем удаляем www
############################################################################
#### Перенаправляем протокол http на https ####
############################################################################
RewriteCond %{ENV:HTTPS} !on
# Проверяем наличие https в URL.
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# Перенаправляем протокол на http.
RewriteCond %{QUERY_STRING} (^|&)id\=4($|&)
RewriteRule ^news/$ /index.php/?type=nes [L,R=301]
RewriteCond %{REQUEST_URI} /index.php
RewriteCond %{QUERY_STRING} ^\z
RewriteRule ^(.*)$ http://site.ru/? [R=301,L]
############################################################################
#### Убираем повторяющиеся слеши (/) в URL ####
############################################################################
RewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.
?
это GET параметры. В свою очередь Get не является частью урла и не попадает в %{REQUEST_URI}
# 301 --- http://www.test.com/faq.html?faq=13&layout=bob => http://www.test2.com/faqs.html
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
RewriteRule ^faq\.html$ http://www.test2.com/faqs.html? [L,R=301]
# 301 --- http://www.test3.com/faq.html?faq=13&layout=bob => bbq.html
RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
RewriteRule ^faq\.html$ /bbq.html? [L,R=301]
(^|&)layout\=bob($|&)
- можно упростить до layout\=bob
в омем примере не играет значение последовательность этих параметров php_value memory_limit 50M
#RewriteCond %{HTTP_HOST} !^mydomain\.ru$ [NC]
#RewriteRule ^(.*)$ mydomain.ru/$1 [R=301,L]
# BEGIN WordPress
RewriteEngine on
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
php -q ai-bolit.php
(.+)\.[0-9]{1,}x[0-9]{1,}\.(jpg|png)
(.+)
- любые символы от 1\.
- символ точки[0-9]{1,}
- цифры от 0 до 9 , от одного раза(jpg|png)
- или или RewriteCond %{QUERY_STRING} (^|&)id\=([0-9]{1,})\$($|&)
RewriteRule ^.+[^/]/fullnews_page\.php$ /$1/%2? [L,R=301]
[0-9]{1,}
- от нуля до 9 , один и более раз ( это вторая скобка) .+[^/]
более 1символа но не слеш, до слеша ( ну костыль, можно и через квантификаторы)/$1/%2
первая скобка с рула и вторая с конда?
- в конце удалит гет параметр оставит красивый чпу Redirect 301 /serija-hook2/ https://site.ru/po-serii/hook2?