L
- не так работает как ты думаешьRewriteRule
- вообще не знает про GET
, ну не является он по его мнению частью урла от слова совсем.RewriteRule ^cases/$
RewriteRule ^cases/(.*)$
RewriteRule ^cases/?id=dsfasdfasdfadsfsdaf$
RewriteCond %{REQUEST_URI} ^case.php$
RewriteCond %{QUERY_STRING} (^|&)id\=title-of-case($|&)
RewriteRule ........
RewriteRule было стало? [QSA,L]
RewriteEngine On
# Директива включает редиректы.
RewriteBase /
# Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
Options +FollowSymLinks
# Разрешает переход по символическим ссылкам.
Options -Indexes
#показывает список файлов в директории (или ошибку 403 - доступ запрещен), если нет дефолтного файла (index.html, index.php).
############################################################################
# убирает www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
############################################################################
# http -> https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
############################################################################
# сам вкурсе
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
############################################################################
# ЧПУ
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
############################################################################
#### Убираем слеши в конце URL для статических файлов (содержит точку) ####
############################################################################
RewriteCond %{REQUEST_URI} \..+$
# Если файл содержит точку.
RewriteCond %{REQUEST_FILENAME} !-d
# И это не директория.
RewriteCond %{REQUEST_FILENAME} -f
# Является файлом.
RewriteCond %{REQUEST_URI} ^(.+)/$
# И в конце URL есть слеш.
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Исключить слеш.
############################################################################
#### Добавляем слеш(/), если его нет, и это не файл. ####
############################################################################
RewriteCond %{REQUEST_URI} !(.*)/$
# Если слеша в конце нет.
RewriteCond %{REQUEST_FILENAME} !-f
# Не является файлом.
RewriteCond %{REQUEST_URI} !\..+$
# В URL нет точки (файл).
RewriteCond %{REQUEST_URI} ^(.+)$
# В URL есть хоть один символы
RewriteRule ^(.*)$ $1/ [L,R=301]
RewriteCond %{QUERY_STRING} (?:^|&)chpu\=(.+)(?:$|&)
RewriteRule ^services/%1? [L,R=301]
<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|suspected)$">
- если вот такие файлыOrder allow,deny
- запретить выполнение Deny from all
- всемRewriteEngine On
# Активирует мод реврайт, короче редиректы запускаются, активируется 1 раз за веьс файл.
RewriteBase /
# Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
RewriteRule ^index.php$ - [L]
# типа все если файл есть, то запускать его
RewriteCond %{REQUEST_FILENAME} !-f
#Но если это нее файл
RewriteCond %{REQUEST_FILENAME} !-d
# и если это не директория
RewriteRule . index.php [L]
# то перенаправить на индекс .php