@MaKS_Ibl4

Как правильно настроить .htaccess под задачу?

Товарищи прошу вашей помощи.
Что имеем:
требуется слэш на конце: domain.ru/test -> редиректил на test/
собственно строку test (может быть из двух слов через тире,могут быть цифры) отдавал в index.php?page=$1
при этом js css грузился из своих папок
любой запрос img/название картинки уходил getphoto.php?src=название картинки
любой запрос upload/папка/название картинки уходил так же getphoto.php?folder=&src=
ещё есть папка admin она должна работать штатно.
Мне в идеале что бы любой запрос кроме как картинкам или статике уходил в index.php?page=
Я сделал так:
RewriteCond %{REQUEST_URI} ^/.*
	RewriteRule ^ajax$ /admin/ajax.php [L]
    RewriteRule ^sitemap.xml$ sitemap.xml [L]
    RewriteRule ^admin/(.*)$ admin/$1 [L]
    RewriteRule ^.*css/(.*)$ css/$1 [L]
    RewriteRule ^.*fonts/(.*)$ fonts/$1 [L]
    RewriteRule ^.*js/(.*)$ js/$1 [L]
    RewriteRule ^.*img/(.*)$  getphoto.php?src=$1 [L]

    RewriteCond %{REQUEST_URI} /$ [NC]
    RewriteRule ^.*img/(.*)(/)$ getphoto.php?src=$1 [L]

    #RewriteCond %{REQUEST_URI} !^/uploads/.*$ [NC]
    #RewriteRule ^(.*)$ getphoto.php?src=$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]
    RewriteRule ^(.*)(/)$ index.php?src=$1 [QSA,L]

Вроде в общем и целом работает как я хочу, только не могу разобраться как запросы к папке uploads перехватить
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dodo512
RewriteRule ^sitemap.xml$ sitemap.xml [L]
RewriteRule ^admin/(.*)$ admin/$1 [L]
RewriteRule ^uploads/([^/]+)/(.*)$ getphoto.php?folder=$1&src=$2 [L]

RewriteRule (js|css|fonts)/(.*) $1/$2 [L]
RewriteRule img/(.*)$  getphoto.php?src=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ /$1/ [L,R=301]

RewriteRule ^(.*)/$ index.php?src=$1 [QSA,L]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы