Я хочу запретить прямой доступ ко всем файлам, кроме одного: go.php
.Запретить прямой доступ ко всем файлам, кроме одного URL-адреса PRETTY с параметрами получения
Я читал this вопрос, но в моем случае это не работает, потому что я отправляю также параметр GET.
Это означает, что все файлы должны быть лишены, за исключением случаев, когда вы пытаетесь перейти на www.domain.com/go.php?code=xyz123
.
Мой код прямо сейчас:
Order Allow,Deny
deny from all
allow from [my IP here]
<FilesMatch "go.php">
Allow from all
</FilesMatch>
Как я могу это исправить?
Спасибо!
EDIT 1
Я обновил код на:
<Files go.php>
Allow from all
</Files>
Теперь это позволяет, если URL является domain.com/go.php?code=123
. Дело в том, что я использую довольно URL-адреса с этой перезаписи условие:
RewriteRule ^go/([a-z0-9]+)$ /go.php?code=$1
RewriteRule ^go/([a-z0-9]+)/$ /go.php?code=$1
Таким образом, вышеуказанные файлы кода не работает, если URL-адрес является domain.com/go/123
. Как это исправить?
Вы _could_ реализуете это на основе 'RewriteCond', ища параметр GET и 'RewriteRule' перенаправляет все остальное на документ с ошибкой. Но это странная концепция, контроль доступа через параметр GET ... – arkascha
Я не против, чтобы люди обращались к 'go.php' becuase от php-файла, нет ли параметра 'code' GET, вы просто перенаправляетесь на страницу 404. Так что в основном мне нужен код для записи в 'FilesMatch', потому что просто' go.php' не работает с параметром GET. –
@MagnusEriksson Пожалуйста, см. Мой вопрос edit :) –