Скрыть index.php (или index.html) URL

Когда я набираю адрес моего сайта в браузере (mysite.com), он перенаправляется на mysite.com/index.php. Почему бы не index.html? Потому что я изменил его в файле conf в Apache 2.2.

Теперь я хотел бы скрыть последнюю часть «index.php». Как мне это сделать ?Будет ли он отличаться от index.html от index.php?

Не было бы уродливым, если, ища Google, вы попали бы на www.google.com/index.html? ... это только для эстетики, но бог важен для определенных людей.

 Gumbo17 авг. 2009 г., 17:45
Что вы подразумеваете под перенаправлением? Это внешнее перенаправление (URL-адрес изменяется) или внутреннее перенаправление (запрос/ возвращает так же, как/index.php)?
 David Thomas17 авг. 2009 г., 17:43
Я пометил вопрос, убрав слово «скрыть» и заменив его словом «mod-rewrite», так как думаю, что это, возможно, более актуально. Я счастлив, что оказался неправ, хотя =)

Ответы на вопрос(4)

        <form action="." method="POST">
       E-mail: <input type='password' size='50' name='email' />
       <input type='submit' value='Login' />
    </form>

е http.conf или в отдельных файлах .htaccess в каталогах приложений. Включимод переписать. Вот это простой учебник.

 Kris Erickson18 авг. 2009 г., 04:26
Согласитесь, если вы хотите обрабатывать только index.html, тогда это правильно. Если у вас более одной «контрольной» страницы, вам нужен mod_rewrite.
 Philippe Carriere17 авг. 2009 г., 18:12
Мне нравится ваш ответ, но я думаю, что Пабло Санта Круз и Мыслитель правы: мне не нужно углубляться в это, чтобы решить мою конкретную проблему. Не нужно пушки, чтобы убить муху.

отправляя новое местоположение в заголовке HTTP), то вы ничего не можете сделать, кроме изменения кода, выполняющего перенаправление.

С другой стороны, если ваш WebServer - Apache, есть директива конфигурации, которая может помочь:

DirectoryIndex

Когда вы установите это:index.php или жеindex.html, тогда ваш веб-сервер будет автоматически перенаправлять на эти внутренние файлы без изменения URL, когда вы попадете в каталог на вашем сервере, гдеDirectoryIndex Директива настроена.

Я думаю, вы получите лучшие ответы, если вы разместите это наServerfault.

Удачи.

 Philippe Carriere18 авг. 2009 г., 16:52
Возможно, я был неясен, но часть, в которой говорилось «я изменил это в файле conf в Apache», имела в виду именно это. Он установлен в index.php.
Решение Вопроса

почему вам нужно использовать mod_rewrite. На своем сайте я ничего не делал, чтобы скрыть index.php, я просто нигде не указываю это в коде, поэтому вместо www.example.com/index.php?task=forum я просто пишу www.example.com/?task = форум. Работает на стандартном конфиге apache.

 Philippe Carriere18 авг. 2009 г., 16:51
Хм, я немного запутался ... Я ссылаюсь на index.php позже в другом коде, но это не должно иметь значения. Когда я пишу mysite.com, меня ссылаются на мой сервер, на котором работает apache. Затем Apache отобразит index.html. Но я никогда не ссылаюсь на это конкретно.
 Thinker18 авг. 2009 г., 17:41
Проверьте место, где вы упоминались на вашем сервере. Это может быть неправильная конфигурация httpd.
 Philippe Carriere17 авг. 2009 г., 18:13
Я попробую это и вернусь к тебе.
 Pablo Santa Cruz17 авг. 2009 г., 17:54
Согласен. Вам не нужен MOD_REWRITE для такой простой вещи.
 Philippe Carriere24 авг. 2009 г., 16:52
Наконец-то сработало. Спасибо. Извините за задержку.

Ваш ответ на вопрос