| Автор 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=<span style="color: #ff0000">"<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>"</span>
method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"logout"</span>>
Исправить на:
<form action=<span style="color: #ff0000">"index.php?option=logout"</span> method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"logout"</span>>
Далее 97 строка:
<form action=<span style="color: #ff0000">"<?php echo sefRelToAbs( 'index.php' ); ?>"</span> method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> >
Исправить на:
<form action=<span style="color: #ff0000">"index.php"</span> method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> >
Файл components/login.html.php 32 строка:
<form action=<span style="color: #ff0000">"<?php echo sefRelToAbs( 'index.php?option=login' ); ?>"</span>
method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> id=<span style="color: #ff0000">"login"</span>>
Исправить на:
<form action=<span style="color: #ff0000">"index.php?option=login"</span> method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> id=<span style="color: #ff0000">"login"</span>>
Далее 139 строка:
<form action=<span style="color: #ff0000">"<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>"</span>
method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> id=<span style="color: #ff0000">"login"</span>>
Исправить на:
<form action=<span style="color: #ff0000">"index.php?option=logout"</span> method=<span style="color: #ff0000">"post"</span> name=<span style="color: #ff0000">"login"</span> id=<span style="color: #ff0000">"login"</span>>
Если Вы используете сторонние модули/компоненты с формой авторизации -
то проделайте в них аналогичную операцию. Если вы не используете
index.html, не включаете режим sef - то волноваться не стоит, всё и так
будет работать.
P.S.: Не забывайте делать запас всех изменяемых файлов. Удачи!
с сайта: http://help.joom.ru/content/view/81/10/
|