Переписать путь перед обработкой каталога? - PullRequest
1 голос
/ 11 июля 2010

У меня небольшая проблема с файлами htaccess. В настоящее время он перенаправляет все обратно в index.php для обработки, кроме случаев, когда кто-то пытается получить доступ к реальному каталогу. Когда каталог существует, он отображает страницу с ошибкой 403 вместо того, чтобы переписывать путь к index.php, как это должно быть тоже. Что я могу изменить, чтобы он всегда заходил в index.php при доступе к файлам через Интернет, но по-прежнему загружал правильные файлы в PHP на сервере?

Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /

ErrorDocument 403 /index.php?403
ErrorDocument 404 /index.php?404
ErrorDocument 414 /index.php?414

RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteRule !^(.*) index.php [L]

Пример структуры файла:

Web Directory
- com
- source
- index.php
- TEST.HTML

В папках, таких как «com» ​​и «source», будет отображаться 403, потому что пользователь не имеет к ним доступа. Файлы, такие как index.php и TEST.HTML, работают нормально. Я хочу, чтобы мой htaccess перенаправил все в папке Web Directory обратно в файл index.php, несмотря ни на что.

1 Ответ

1 голос
/ 11 июля 2010

Я думаю, что вы хотите это вместо этого:

Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /

ErrorDocument 403 /index.php?403
ErrorDocument 404 /index.php?404
ErrorDocument 414 /index.php?414

RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* index.php [L]

Это было сделано исходя из того, что вы не хотите иметь доступ к TEST.HTML напрямую и не хотите изменять URL вбраузер пользователя.Если любое из этих предположений было неверным, дайте мне знать, и я обновлю ответ соответствующей информацией о перезаписи.

...