Я не нашел ответа на свою текущую проблему.HTACCESS - заблокировать все, кроме указаний SEO дружественный URL
Вот корень сайта:
- кэш
- IMG
- display.php
- admin.php
Что мне нужно, чтобы блокировать все прямые доступ к файлам и разрешать доступ только через URL-адрес, отформатированный следующим образом:
1 ht * p: //sub.domain.com/image/param/size/folder/img.jpg (параметр, размер, папка, img - параметры)
2 ht * p: //sub.domain. ком/действие/param1/param2/(param1, param2 являются параметрами)
1 будет указывать на display.php с правильными параметрами
2 будет указывать на admin.php с правильными параметрами
Любой другой доступ должен быть 404 (в лучшем случае) или 403
мои правила имеют вид (Htaccess в ХТ * р: //sub.domain.com/):
RewriteRule ^image/([^/]+)/([0-9]+)/([^/]+)/([^/]+)\.jpg display.php?param=$1&size=$2&folder=$3&img=$4 [L]
RewriteRule ^action/([^/]+)/([^/]+) admin.php?action=$1¶m=$2 [L]
Эти правила работают так, как я хочу, но я застрял на том, как заблокировать любой доступ, который не исходит от этого URL!
Также (в качестве бонуса) Я хотел был бы иметь возможность использовать тот же htaccess на различном веб-адресе, не изменяя этот файл.
Заранее спасибо
Как заблокировать все запросы, в которых есть знак вопроса '?'? –
Сделайте это на уровне PHP, иначе вы входите в рекурсивный ад. – Ben