Типовой .htaccess

Материал из Wiki

Перейти к: навигация, поиск
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule (.*) index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
	ErrorDocument 404 /index.php
</IfModule>

Если на домене несколько приложений в подкаталогах то применив следующие правила можно настроить ЧПУ на каждое из них

# Запуск Реврайт
RewriteEngine On
# Базовый каталог
RewriteBase /
# Не файл
RewriteCond %{REQUEST_FILENAME} !-f
# Не каталог
RewriteCond %{REQUEST_FILENAME} !-d
# Не статика
RewriteCond %{REQUEST_FILENAME} !\.(jp(e?)g|gif|png|css|js|ico)$ [NC]
# Строка запроса содержит имя каталога
RewriteCond %{REQUEST_URI} ([A-Za-z]+)/(.*)$ [NC]
# Каталог из предыдущего правила существует
RewriteCond %{DOCUMENT_ROOT}/%1 -d
# Реврайт на индексный файл в каталоге
RewriteRule ^([A-Za-z]+)/(.*)$ $1/index.php/$2 [NC,L,QSA]

Структура каталогов:

.htaccess
system/ # CodeIgniter
app1/   #Приложение 1
      index.php
      application
app2/   #Приложение 2
      index.php
      application
app3/   #Приложение 3
      index.php
      application
Личные инструменты