Русская Joomla!
Главная arrow Главная arrow Установка Joomla!

Использование index.html вместо index.php

Печать E-mail
Автор boston   
18.10.2006 г.
Некоторые советы при использовании index.html вместо index.php.
Иногда главная страница сайта должна выглядеть абсолютно не так как все остальные, рекламный ролик, заставка, или просто интересная главная страница - явление довольно распространенное. В таких случаях все кто работает с Joomla советуют копировать в корень сайта статичный файл index.html с необходимым содержанием, а с него уже вести ссылки на все остальные разделы сайта.
Метод довольно простой и удобный, однако при использовании его возникают проблемы при включении режима sef ( дружественные ссылки ).

Дело в том что при использовании этого режима ссылки которые ведут на главную сайта и выглядят как http://joom.ru/index.php становятся вида http://joom.ru/. После этого при попытки авторизации на сайте может возникнуть ошибка: "Method Not Allowed The requested method POST is not allowed for the URL /index.html." Т.е. данные поступившие из формы регистрации отправляются непосредственно в корень сайта, на файл index.html вместо index.php. Исправить это можно немного модифицировав модуль modules/mod_login.php исправив в нём на 71 строке:

<form action="<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>"
method="post" name="logout">

Исправить на:

<form action="index.php?option=logout" method="post" name="logout">

Далее 97 строка:     

<form action="<?php echo sefRelToAbs( 'index.php' ); ?>" method="post" name="login" >

Исправить на:     

<form action="index.php" method="post" name="login" >

Файл components/login.html.php 32 строка:

<form action="<?php echo sefRelToAbs( 'index.php?option=login' ); ?>"
method="post" name="login" id="login">

Исправить на:     

<form action="index.php?option=login" method="post" name="login" id="login">

Далее 139 строка:

 
<form action="<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>" 
method="post" name="login" id="login">

Исправить на:

<form action="index.php?option=logout" method="post" name="login" id="login">

Если Вы используете сторонние модули/компоненты с формой авторизации - то проделайте в них аналогичную операцию. Если вы не используете index.html, не включаете режим sef - то волноваться не стоит, всё и так будет работать.

P.S.: Не забывайте делать запас всех изменяемых файлов. Удачи!

Последнее обновление ( 20.10.2006 г. )
 
След. »