Проблема Cannot redeclare template_main() со страницы index.php?wwwRedirect

Автор genix, 20 февраля 2009, 10:18:14

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

genix

У меня такая проблема возникла недавно после уставноки разных модов - при заходе на имясайта.орг срабатывает редирект на ввв.имясайта.орг, сделанный в самом форуме, т.е. перенаправляет на эту вот страницу: http://www.my-engels.org/index.php?wwwRedirect

И ладно бы просто пернаправляет, так он еще ошибку там выводит
Fatal error: Cannot redeclare template_main() (previously declared in /www/genix/data/www/my-engels.org/Sources/Load.php(2015) : eval()'d code:17) in /www/genix/data/www/my-engels.org/Sources/Load.php(2015) : eval()'d code on line 242

Исходя из ошибки можно заключить, что ошибка в файле Load.php, причем на 242 строчке... Но там совершенно посторонняя строчка. Если отключить eval() в этом файле, то он покажет ошибку не той строчкой, а вот такой:
Fatal error: Cannot redeclare template_main() (previously declared in /www/genix/data/www/my-engels.org/Themes/default/PortaMx/PortaMx.template.php:17) in /www/genix/data/www/my-engels.org/Themes/default/BoardIndex.template.php on line 242

Здесь уже понятно, что ошибка связана с portaMX модом. Но почему она вылазил непонятно. Да, функция template_main определена и в том и в другом файле. Но как же быть чтоб этой ошибки не было?
Есть ли в пхп какая-то проверка на существование функции? Или же ее можно скрыть каким-то другим условием? Или отключить нафиг этот редирект ибо только он вроде вызывает ошибку?

Кстати, как это сделать с помощью htaccess ни у кого нет под рукой? =)
- Все, что не убьет меня, сделает меня сильнее - (Ф.Ницше, Карандаш, Кани Вест)

Mavn

о том как сделать редирект через htaccess уже писалось.
попробуй сделать поиск по файлам возможно данная функция указана в одном из файлов дважды
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

genix

Нет, дважды в файле ничего нет, я уже писал, что просто две функции с одинаковым названием в двух файлах, видимо один из них подключается только при wwwRedirect.

Решил проблему с помощью хтаксесс:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite\.com
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L]
- Все, что не убьет меня, сделает меня сильнее - (Ф.Ницше, Карандаш, Кани Вест)

Mavn

template_main()  находится во многих файлах smf

данный шаблон подгружается в центр форума между шапкой и подвалом.

если разбирать структуру шаблона smf то получите следущее
index.template.php шапка подвал

все остальные файлы подгружаются в центр вызовом template_main() это касается большей части страниц форума.

Add
::) думаю может все таки написать документацию по шаблонам smf для упрощения понимания самой структуры шаблонов и как все организовывается ::)
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.