Last active
January 15, 2016 14:33
-
-
Save Zlatov/1f5b9f0b886518123e09 to your computer and use it in GitHub Desktop.
Revisions
-
Zlatov revised this gist
Jan 15, 2016 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -55,7 +55,10 @@ php_flag magic_quotes_runtime 0 # Запись ошибок в логи php_flag log_errors on # В какие логи писать, например, # в том же месте ге скрипт с ошибкой: "php_value error_log PHP-errors.log", что не очень удобно # или в одном файле на проект: "/path/to/public_html/PHP-errors.log" (с DOCUMENT_ROOT) # под виндой "D:/path/to/public_html/PHP-errors.log" php_value error_log /home/path/public_html/domain/PHP_errors.log # Задание максимальной длины log_errors в байтах. Значение по умолчанию 1024. Установка значения в 0 позволяет снять ограничение на длину log_errors. -
Zlatov revised this gist
Jan 15, 2016 . 1 changed file with 13 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -61,13 +61,24 @@ php_value error_log /home/path/public_html/domain/PHP_errors.log # Задание максимальной длины log_errors в байтах. Значение по умолчанию 1024. Установка значения в 0 позволяет снять ограничение на длину log_errors. php_value log_errors_max_len 1024 # Определяет типы выводимых ошибок по маске # "E_ERROR" - 1 # "E_WARNING" - 2 # "E_PARSE" - 4 # "E_NOTICE" - 8 # "E_CORE_ERROR" - 16 # "E_CORE_WARNING" - 32 # "E_COMPILE_ERROR" - 64 # "E_COMPILE_WARNING" - 128 # "E_USER_ERROR" - 256 # "E_USER_WARNING" - 512 # "E_USER_NOTICE" - 1024 # "E_STRICT" - 2048 # "E_RECOVERABLE_ERROR" - 4096 # "E_DEPRECATED" - 8192 # "E_USER_DEPRECATED" - 16384 # "E_ALL" - 32767 php_value error_reporting 2047 # Включает / выключает вывод ошибок в браузер (php_flag display_errors), если сайт рабочий ошибки нужно писать в логи php_flag display_errors on -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -120,6 +120,10 @@ php_flag html_errors on #RewriteCond %{REQUEST_URI} ^/i9\.html$ #RewriteRule ^.*$ publication/import-chertejey-v-3ds-max-iz-autocad.html [R=301,L] # Перенаправление адреса содеражащего текст "text" на страницу /404/ #RewriteCond %{QUERY_STRING} ^text.+$ #RewriteRule ^.*$ 404/ # Перенаправление с адреса без www на адрес с www. # Перенаправление с явным указанием переменной: RewriteCond %{HTTP_HOST} !^www\. [NC] @@ -134,10 +138,6 @@ php_flag html_errors on #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] #RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Убираем множественные слэши в середине запроса: RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$ RewriteRule .* %1/%2 [R=301,L] -
Zlatov renamed this gist
Nov 30, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 91 additions and 81 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,14 +9,14 @@ # Если mod_charset есть на сервере <IfModule mod_charset.c> # Отключаем перекодировку CharsetDisable On # Кодировка, в которой документы хранятся на диске CharsetSourceEnc utf-8 # Кодировка по-умолчанию для данного сервера CharsetDefault utf-8 </IfModule> # ################# @@ -96,88 +96,98 @@ php_flag html_errors on # Если mod_rewrite есть на сервере <IfModule mod_rewrite.c> # Включаем модуль mod_rewrite выполняющий URL преобразования на лету. RewriteEngine on # Если системный администратор запрещает использование 'Options +FollowSymlinks' — не сможем ограничить использование mod_rewrite для отдельных каталогов, вместо этого изменения будут действовать на весь сервер. # если с этой директивой выдает ошибку - комментируем (в зависимости от хостера) Options +FollowSymlinks # Устанавливает базовый URL для преобразований в каталоге. RewriteBase / # Блокируем доступ к файлам .htaccess RewriteRule ^.htaccess$ - [F] # 301 редиректы (перемещена постоянно) со страницы на страницу. Примеры: # Работает #RewriteCond %{REQUEST_URI} ^/i6\.html$ #RewriteRule ^.*$ http://www.zlatov.net/publication/import-chertejey-v-3ds-max-iz-autocad.html [R=301,L] # Работает -http://www.zlatov.net #RewriteCond %{REQUEST_URI} ^/i8\.html$ #RewriteRule ^.*$ /publication/import-chertejey-v-3ds-max-iz-autocad.html [R=301,L] # Работает -/ #RewriteCond %{REQUEST_URI} ^/i9\.html$ #RewriteRule ^.*$ publication/import-chertejey-v-3ds-max-iz-autocad.html [R=301,L] # Перенаправление с адреса без www на адрес с www. # Перенаправление с явным указанием переменной: RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Перенаправление вручную: #RewriteCond %{HTTP_HOST} ^domain.ru [NC] #RewriteCond %{HTTP_HOST} !^$ #RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L] # Перенаправление с адреса с www на адрес без www: #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] #RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Перенаправление ссылки содеражащей текст "text" на страницу /404/ #RewriteCond %{QUERY_STRING} ^text.+$ #RewriteRule ^.*$ 404/ # Убираем множественные слэши в середине запроса: RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$ RewriteRule .* %1/%2 [R=301,L] # Убираем множественные слэши в начале и/или в конце запроса: RewriteCond %{THE_REQUEST} ^[A-Z]+\s//+(.*)\sHTTP/[0-9.]+$ [OR] RewriteCond %{THE_REQUEST} ^[A-Z]+\s(.*/)/+\sHTTP/[0-9.]+$ RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L] # Добавляем слэшь в конце папок: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ $1/ [R=301,L] # Переадресуем /index.php* на / (для SEO, т.е. отсутствия дублей по index.php?category=contacts) RewriteCond %{THE_REQUEST} ^.*/index\.php RewriteRule ^(.*)index.php /$1 [R=301,L] ## Последнее перенаправление ## Если запрашиваем реальная папка или файл - ничего не делаем, иначе "заворачиваем" все запросы на index.php, который лежит в RewriteBase #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.*)$ /index.php [L,QSA] # Или для статического ЧПУ # Админка RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^admin/([^/\.]+)/?$ /admin/index.php?category=$1 [L,QSA] # Сайт RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/?$ index.php?category=$1 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([0-9]+)/?$ index.php?category=$1&page=$2 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?category=$1$section=$2 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([^/\.]+)/([0-9]+)/?$ index.php?category=$1$section=$2&page=$3 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/\.]+)/([^/\.]+)\.html$ index.php?category=$1&element=$2 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^theme/lorem/([^/\.]+)\.html$ theme/lorem/$1.html [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)\.html$ index.php?category=$1$section=$2&element=$3 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ index.php?category=404 </IfModule> -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -183,7 +183,8 @@ php_flag html_errors on # Шпаргалка # RewriteCond # — условие, при котором срабатывают правила перенаправления. # условий может быть несколько (по лдному в каждой строке), между условиями нужно ставить [OR] (в конце верхнего условия). #RewriteCond … [NC, OR] #RewriteCond … [NC] @@ -198,7 +199,8 @@ php_flag html_errors on # '-U' проверка существования URL через подзапрос # RewriteRule # — основная директива преобразований. # R[=code] - вызывает редирект. # L - чтобы не преобразовывать текущий URL другими правилами преобразований. # QSA - добавлять строку запроса. -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 8 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -111,9 +111,6 @@ php_flag html_errors on # Перенаправление с адреса без www на адрес с www. # Перенаправление с явным указанием переменной: RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} !^$ @@ -185,7 +182,8 @@ php_flag html_errors on </IfModule> # Шпаргалка # RewriteCond — условие, при котором срабатывают правила перенаправления. # условий может быть несколько (по лдному в каждой строке), между условиями нужно ставить [OR] (в конце верхнего условия). #RewriteCond … [NC, OR] #RewriteCond … [NC] @@ -198,3 +196,9 @@ php_flag html_errors on # '-l' является ли символической ссылкой # '-F' проверка существования файла через подзапрос # '-U' проверка существования URL через подзапрос # RewriteRule — основная директива преобразований. # R[=code] - вызывает редирект. # L - чтобы не преобразовывать текущий URL другими правилами преобразований. # QSA - добавлять строку запроса. -
Zlatov revised this gist
Nov 30, 2014 . No changes.There are no files selected for viewing
-
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -187,6 +187,8 @@ php_flag html_errors on # Шпаргалка # RewriteCond — условие, при котором срабатывают правила перенаправления # условий может быть несколько (по лдному в каждой строке), между условиями нужно ставить [OR] (в конце верхнего условия). #RewriteCond … [NC, OR] #RewriteCond … [NC] # RewriteCond [flags]: # 'nocase|NC' - регистронезависимо # 'ornext|OR' - либо следующее условие -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -184,7 +184,10 @@ php_flag html_errors on </IfModule> # Шпаргалка # RewriteCond — условие, при котором срабатывают правила перенаправления # условий может быть несколько (по лдному в каждой строке), между условиями нужно ставить [OR] (в конце верхнего условия). # RewriteCond [flags]: # 'nocase|NC' - регистронезависимо # 'ornext|OR' - либо следующее условие # '-d' является ли каталогом -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 4 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -106,6 +106,10 @@ php_flag html_errors on # Устанавливает базовый URL для преобразований в каталоге. RewriteBase / # Блокируем доступ к файлам .htaccess RewriteRule ^.htaccess$ - [F] # Перенаправление с адреса без www на адрес с www. # R[=code] - вызывает редирект. # L - чтобы не преобразовывать текущий URL другими правилами преобразований. -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -56,7 +56,7 @@ php_flag magic_quotes_runtime 0 php_flag log_errors on # В какие логи писать, например, в том же месте: "php_value error_log php.log", или в одном файле: "/home/path/public_html/domain/PHP_errors.log" (с DOCUMENT_ROOT) php_value error_log /home/path/public_html/domain/PHP_errors.log # Задание максимальной длины log_errors в байтах. Значение по умолчанию 1024. Установка значения в 0 позволяет снять ограничение на длину log_errors. php_value log_errors_max_len 1024 -
Zlatov revised this gist
Nov 30, 2014 . 1 changed file with 5 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,3 @@ # ##################### # ## ## # ## Кодировка ## @@ -83,8 +81,7 @@ php_flag html_errors on # ## ## # ##################### # #ErrorDocument 404 /404/ @@ -102,6 +99,10 @@ Options +FollowSymlinks # Включаем модуль mod_rewrite выполняющий URL преобразования на лету. RewriteEngine on # Если системный администратор запрещает использование 'Options +FollowSymlinks' — не сможем ограничить использование mod_rewrite для отдельных каталогов, вместо этого изменения будут действовать на весь сервер. # если с этой директивой выдает ошибку - комментируем (в зависимости от хостера) Options +FollowSymlinks # Устанавливает базовый URL для преобразований в каталоге. RewriteBase / -
Zlatov revised this gist
Nov 5, 2014 . 1 changed file with 6 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -110,13 +110,13 @@ Options +FollowSymlinks # L - чтобы не преобразовывать текущий URL другими правилами преобразований. # QSA - добавлять строку запроса. # Перенаправление с явным указанием переменной: RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Перенаправление вручную: #RewriteCond %{HTTP_HOST} ^domain.ru [NC] #RewriteCond %{HTTP_HOST} !^$ #RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L] # Перенаправление с адреса с www на адрес без www: #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] -
Zlatov renamed this gist
Nov 5, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
Zlatov revised this gist
Oct 27, 2014 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -58,10 +58,10 @@ php_flag magic_quotes_runtime 0 php_flag log_errors on # В какие логи писать, например, в том же месте: "php_value error_log php.log", или в одном файле: "/home/path/public_html/domain/PHP_errors.log" (с DOCUMENT_ROOT) php_value error_log /home/s/striketoru/public_html/php.log # Задание максимальной длины log_errors в байтах. Значение по умолчанию 1024. Установка значения в 0 позволяет снять ограничение на длину log_errors. php_value log_errors_max_len 1024 # Определяет тип выводимых ошибок (php_value error_reporting), наример, все ошибки кроме замечаний ("E_ALL & ~E_NOTICE") или все ошибки ("E_ALL") # "E_ERROR" - 1 -
Zlatov renamed this gist
Oct 27, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
Zlatov created this gist
Oct 27, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,190 @@ #<?php # ##################### # ## ## # ## Кодировка ## # ## ## # ##################### # Кодировка #AddDefaultCharset UTF-8 # Если mod_charset есть на сервере <IfModule mod_charset.c> # Отключаем перекодировку CharsetDisable On # Кодировка, в которой документы хранятся на диске CharsetSourceEnc utf-8 # Кодировка по-умолчанию для данного сервера CharsetDefault utf-8 </IfModule> # ################# # ## ## # ## Index ## # ## ## # ################# # Первостепенность поиска индексных файлов при указании директории DirectoryIndex index.php index.html # Запрещает (-Indexes) или разрешает (+Indexes) отображение содеримого директории. Options -Indexes # ###################################### # ## ## # ## PHP переменные и обработка ## # ## ## # ###################################### # Само собой php_flag register_globals off # Волшебные кавычки для входных данных GET/POST/Cookie php_flag magic_quotes_gpc 0 # Волшебные кавычки для данных, поступающих во время выполнения (из SQL, exec(), ...) php_flag magic_quotes_runtime 0 # ###################### # ## ## # ## Ошибки PHP ## # ## ## # ###################### # Запись ошибок в логи php_flag log_errors on # В какие логи писать, например, в том же месте: "php_value error_log php.log", или в одном файле: "/home/path/public_html/domain/PHP_errors.log" (с DOCUMENT_ROOT) php_value error_log /home/groshost/domain.ru/docs/mysqldump/php.log # Длинна логов чтобы не пузеть со временем php_value log_errors_max_len 10240 # Определяет тип выводимых ошибок (php_value error_reporting), наример, все ошибки кроме замечаний ("E_ALL & ~E_NOTICE") или все ошибки ("E_ALL") # "E_ERROR" - 1 # "E_WARNING" - 2 # "E_NOTICE" - 8 # "E_STRICT" - 2048 # "E_ALL" - 32767 php_value error_reporting 32767 # Включает / выключает вывод ошибок в браузер (php_flag display_errors), если сайт рабочий ошибки нужно писать в логи php_flag display_errors on # Отключает / включает HTML тэги в сообщениях об ошибках. Ссылки на страницы с описаниями ошибок. За такие ссылки ответственны docref_root и docref_ext. php_flag html_errors on # ##################### # ## ## # ## Остальное ## # ## ## # ##################### # Что-то про доступ к файлам вне D_R но если на них есть ярлыки, говорят не влияет но лучше оставить, а если с ней выдает ошибку - комментируем (в зависимости от хостера) Options +FollowSymlinks # #ErrorDocument 404 /404/ #ErrorDocument 403 /404/ # ############################## # ## ## # ## Модуль mod_rewrite ## # ## ## # ############################## # Если mod_rewrite есть на сервере <IfModule mod_rewrite.c> # Включаем модуль mod_rewrite выполняющий URL преобразования на лету. RewriteEngine on # Устанавливает базовый URL для преобразований в каталоге. RewriteBase / # Перенаправление с адреса без www на адрес с www. # R[=code] - вызывает редирект. # L - чтобы не преобразовывать текущий URL другими правилами преобразований. # QSA - добавлять строку запроса. # Перенаправление с явным указанием переменной: #RewriteCond %{HTTP_HOST} !^www\. [NC] #RewriteCond %{HTTP_HOST} !^$ #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Перенаправление вручную: RewriteCond %{HTTP_HOST} ^domain.ru [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L] # Перенаправление с адреса с www на адрес без www: #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] #RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Перенаправление ссылки содеражащей текст "text" на страницу /404/ #RewriteCond %{QUERY_STRING} ^text.+$ #RewriteRule ^.*$ 404/ # Убираем множественные слэши в середине запроса: RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$ RewriteRule .* %1/%2 [R=301,L] # Убираем множественные слэши в начале и/или в конце запроса: RewriteCond %{THE_REQUEST} ^[A-Z]+\s//+(.*)\sHTTP/[0-9.]+$ [OR] RewriteCond %{THE_REQUEST} ^[A-Z]+\s(.*/)/+\sHTTP/[0-9.]+$ RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L] # Добавляем слэшь в конце папок: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ $1/ [R=301,L] # Переадресуем /index.php* на / (для SEO, т.е. отсутствия дублей по index.php?category=contacts) RewriteCond %{THE_REQUEST} ^.*/index\.php RewriteRule ^(.*)index.php /$1 [R=301,L] ## Последнее перенаправление ## Если запрашиваем реальная папка или файл - ничего не делаем, иначе "заворачиваем" все запросы на index.php, который лежит в RewriteBase #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.*)$ /index.php [L,QSA] # Или для статического ЧПУ # Админка RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^admin/([^/\.]+)/?$ /admin/index.php?category=$1 [L,QSA] # Сайт RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/?$ index.php?category=$1 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([0-9]+)/?$ index.php?category=$1&page=$2 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?category=$1$section=$2 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/\.]+)/([^/\.]+)/([0-9]+)/?$ index.php?category=$1$section=$2&page=$3 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/\.]+)/([^/\.]+)\.html$ index.php?category=$1&element=$2 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^theme/lorem/([^/\.]+)\.html$ theme/lorem/$1.html [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)\.html$ index.php?category=$1$section=$2&element=$3 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ index.php?category=404 </IfModule> # Шпаргалка RewriteCond [flags]: # 'nocase|NC' - регистронезависимо # 'ornext|OR' - либо следующее условие # '-d' является ли каталогом # '-f' является ли обычным файлом # '-s' является ли обычным файлом с ненулевым размером # '-l' является ли символической ссылкой # '-F' проверка существования файла через подзапрос # '-U' проверка существования URL через подзапрос