2010-09-17 1 views
0

У меня есть сайт с индексом и т. Д. Я хотел бы перенаправить только трафик, поступающий непосредственно на www.example.com в www.example.com/foo.php. Однако, если пользователь пытается получить доступ к www.example.com/index.php или к любой из существующих существующих страниц, запрос должен вернуть соответствующую страницу как обычно. Кажется, я не склоняюсь к этим правилам перезаписи. Как это сделать с помощью .htaccess?Использование .htaccess для перенаправления только трафика на корень на определенную страницу

ответ

4

Вы, вероятно, может сойти с рук просто изменяя DirectoryIndex к /foo.php:

DirectoryIndex foo.php 

Однако, если вы хотите использовать mod_rewrite фактически переписать URL, есть несколько различных способов сделать это, но clearist это просто проверить, если запрошенный ресурс является пустая строка (корень запрашивали, а вход в RewriteRule в .htaccess файлов не содержит ведущий слэш):

RewriteEngine On 

RewriteRule ^$ /foo.php 

Любой запрос на сервер, который не для /, будет просто игнорироваться и перенаправляться Apache как обычно.

+0

Работал безупречно и такой быстрый ответ. Любые советы о том, как правильно изучить эти правила перезаписи? –

+0

@Oren: Awesome. За пределами чтения документации многие «типичные» случаи были заданы и приведены здесь, так что можно узнать справедливый бит из ответов, которые я себе представляю. Если у вас есть локальный тестовый сервер, использование ['RewriteLog'] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritelog) с высоким' RewriteLogLevel' может помочь вам почувствовать что происходит внутри страны. Большинство из них - просто регулярные выражения, обман, проб и ошибок, хотя, хе, так что это немного привыкает. –

Смежные вопросы