Доброго всем времени суток, коллеги.
У меня возникла проблема при перевозке сайтов на различных CMS-ах (в основном GetSimple и WordPress) на новый сервер. Установил стандартный пакет LAMP на основе CentOS, перетащил все дампы баз данных, и запустил сайты, но возникла проблема, во всех сайтах не зависимо от CMS наблюдается одинаковая проблема - все ссылки навигационного меню дублируются, посмотрел внимательнее и увидел следующее:
<li>
<!-- ? if ($curPage == "/tfile/"): ? -->
<div class="link7">
Тех. требования
</div>
<!-- ? else: ? -->
<a class="link7" title="Технические требования" href="http://egf.ru/tfile/">
Тех. требования
</a>
<!-- ? endif; ? -->
</li>
И такое ощущение что скрипт if не выполняется, а Apache2 считает, что содержимое скрипта есть просто комментарий и не более того, соответственно отображаются оба блока HTML.
>[оверквотинг удален]
> -->
> <a class="link7" title="Технические требования" href="http://egf.ru/tfile/">
> Тех. требования
> </a>
> <!-- ? endif; ?
> -->
> </li>
> И такое ощущение что скрипт if не выполняется, а Apache2 считает, что
> содержимое скрипта есть просто комментарий и не более того, соответственно отображаются
> оба блока HTML.В принципе http://mysite.domain/info.php с <?php phpinfo(); ?> внутри отрабатывает нормально. Возникла мысль, может быть тэги php кода на старом сервере были другие? Такое бывает? Да и кстати, к сожалению узнать как было на старом сервере не возможно уже.
>[оверквотинг удален]
>> <!-- ? endif; ?
>> -->
>> </li>
>> И такое ощущение что скрипт if не выполняется, а Apache2 считает, что
>> содержимое скрипта есть просто комментарий и не более того, соответственно отображаются
>> оба блока HTML.
> В принципе http://mysite.domain/info.php с <?php phpinfo(); ?> внутри отрабатывает нормально.
> Возникла мысль, может быть тэги php кода на старом сервере были
> другие? Такое бывает? Да и кстати, к сожалению узнать как было
> на старом сервере не возможно уже.Слушайте реально, многие элементы кода на сайте просто комментируюся и соответственно не исполняются, неужели никто не может ничего подсказать. Я не так силен в подобных вопросах.
SSI включен?
Для проверки создать файл test.html
<html>
<body>
<!--#if expr="$DOCUMENT_URI=XPEH.html" -->
NOT
<!--#else -->
IT WORKS!
<!--#endif -->
</body>
</html>
рядом положить .htaccess следующего содержания
Options +Includes
AddHandler server-parsed .html
Протестировать. ??
В PHP short_open_tag какое имеет значение?
>[оверквотинг удален]
> -->
> <a class="link7" title="Технические требования" href="http://egf.ru/tfile/">
> Тех. требования
> </a>
> <!-- ? endif; ?
> -->
> </li>
> И такое ощущение что скрипт if не выполняется, а Apache2 считает, что
> содержимое скрипта есть просто комментарий и не более того, соответственно отображаются
> оба блока HTML.Попробовать конструкцию типа этой:
<!-- ? if ($curPage == "/tfile/"): ? -->
заменить на эту:
<!-- ?php if ($curPage == "/tfile/"): ? -->т.е. открывающий тэг должен быть вместо ? этот ?php
или поменять в настройках php.ini открывающий и закрывающий тэги на короткие.
Спасибо. Помогли мне ))