У меня есть регулярное выражение, которое перенаправляет любые файлы в папке «/ downloads» на PHP-скрипт, который затем обслуживает файл (наряду с другими материалами). Тем не менее, я хотел бы иметь некоторые файлы PHP, которые я могу просматривать, и не загружать их (также, очевидно, проблема безопасности). Однако я не знаю, что такое регулярное выражение. Я ищу нито это, но не получить его прямо :(Регулярное выражение Исключить конкретные файлы
<IfModule mod_rewrite.c>
RewriteEngine on
#Redirect any file coming in to the downloads manager
RewriteRule ^(.+\.*) /downloads?file=$1 [R,L]
</IfModule>
Единственное, что я могу найти так далеко, что может работать в RewriteRule ^(.+\.php)$ - [L]
. Однако, это не работает. Если кто-то может быстро объяснить это, или дайте мне что-нибудь, что сработает, это будет здорово!
Кроме того, поскольку вы, возможно, выяснили, что это перенаправляет на index.php из папки/downloads. Если бы вы могли объяснить, почему он не загружает себя, это будет Отлично. Он загружается, когда я иду на скачивание/index.php, но не просто/скачивает. Не требуется информация, чтобы заставить его работать, но хотелось бы знать :)
Спасибо за любые ответы.
В вашем 'RewriteRule', вы имеете в виду '. + \. *' или '. + \ .. *'? Первый ищет любую строку, заканчивающуюся на 0 или более периодов, в то время как вторая ищет какую-либо строку конкретно с периодом в ней (например, расширение)? –
Является ли код перезаписи, который вы отправили в файле apache 'httpd.conf', или находится в файле' .htaccess'? И если его в '.htaccess' является этот файл в каталоге'/downloads' или он находится в корне? Пожалуйста, уточните свой вопрос. Кроме того, какие файлы в '/ downloads' обрабатываются по-разному? Как бы то ни было, вопрос слишком расплывчатый, чтобы быть точным ответом. – ridgerunner
Это .htaccess, в/downloads. Файлы PHP не должны быть затронуты (не загружены). Если позже я могу добавить другие типы файлов или определенные файлы, отлично. Извините за то, что вы недостаточно ясны! –