mod_rewrite перенаправить с любой страницы на домашнюю страницу - PullRequest
0 голосов
/ 04 ноября 2011

Мне нужно перенаправить, если кто-то переходит в любую папку, например, http://site.com/images/ или http://site.com/images на http://site.com.Если он не перейдет в файл, например http://site.com/images/index.php, в этом случае он не будет перенаправлять

, теперь я использую

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]

, но я думаю, что он не идеален, потому что, например, если кто-то входит http://www.site.com это не работает.

Имейте ввиду, что из-за конфигурации сервера мне нужно поместить .htaccess в каждую папку.

1 Ответ

0 голосов
/ 04 ноября 2011

Я считаю, что вы ищете флаг -f :

RewriteCond %{REQUEST_FILENAME} !-f

См. http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Если вы ищете толькопри запрещении кому-либо получать список файлов , которые у вас есть в папке, вы можете вместо этого рассмотреть возможность добавления:

Options -Indexes

Это скажет apache не отображать список каталогов, если нет страницы индексаприсутствует в данном каталоге.

См. http://httpd.apache.org/docs/2.2/mod/core.html#options

Последнее, на что следует обратить внимание, если вы не знакомы с тем, как работает .htaccess, apache сканирует текущую папку и любые ее родительские элементы.папки - у вас должно быть все в порядке с добавлением только одного файла .htaccess в корневой каталог вашего веб-сайта для http://site.com. Это было рассмотрено в другом вопросе здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...