Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   simulateStaticDocuments (http://forum.typo3.ru/showthread.php?t=6693)

olemar 20.08.2008 20:04

simulateStaticDocuments
 
Добрый день.

Проблема такая:

пытаюсь изменить ссылки на странице из вида index.php?id=123 в вид 123.html

естественно для оптимизации страницы под поиск в поисковых машинах.

как я нашёл на немецких форумах, добавил в .htaccess строки:

RewriteEngine On
RewriteRule ^[^/]*\.html$ index.php

Тут должен сказать, что весь проект лежит в папке /portal. Тут я не могу понять, должен .htaccess тоже в папке /portal лежать или же наверху.(?)

Далее в Template я добавил след. строки:

config.simulateStaticDocuments = 0
config.simulateStaticDocuments_noTypeIfNoTitle = 0

Тут линки преобразовались в нужную форму,
а вот сами посебе больше не работают. Выдаёт 404-ю ошибку
Как я понимаю, адреса остались прежними.

Как изменить теперь адреса???

Заранее благодарен.

Andrey Grey 20.08.2008 20:06

ну эт врятли у вас аботает:
config.simulateStaticDocuments = 1
config.simulateStaticDocuments_noTypeIfNoTitle = 1
.htaccess в папку с сайтом, на сервере включить mod_rewrite

olemar 20.08.2008 20:13

Может и не работает...
В смысле линки генирируются, это я вижу.
А будут ли они вообще работать как надо, когда адреса станет понимать, не знаю, пока нет возможности проверить.

P.S. Сервер чужой, нет доступа к config

на сколько я понимаю, RewriteEngine On активирует mod_rewrite. Или это не так?

Fearless Goblin 21.08.2008 14:43

Цитата:

Сообщение от olemar (Сообщение 21108)
А будут ли они вообще работать как надо, когда адреса станет понимать, не знаю, пока нет возможности проверить.

Что-то я вообще не понял смысл этого предложения... Если линки генерятся и при переходе по ним отображется то ,что должно отображаться - то всё нормально.
Ну, и, естественно, страница будет доступна, как по адресу: /index.php?id=10, так и по адресу /10.html. Потому что simulateStaticDocuments (так же, как и RealURL) не изменяет функционал ядра, ведь данные, как передавались через GET, так и продолжают передаваться, просто в строке УРЛ-а пользователи (и поисковые боты) видят другой адрес.
Если Вы боитесь, что поисковые боты забанят Ваш сайт за разные ссылки на одну и ту же страницу, то не переживайте: все разработчики поисковых движков знают, что на многих сайтах используется mod_rewrite, к тому же во фронтенде ссылок вида /index.php?id=10 не будет.
Цитата:

на сколько я понимаю, RewriteEngine On активирует mod_rewrite. Или это не так?
Нет. Он только заставляет его работать. mod_rewrite должен быть активирован на стороне сервера. Если я не ошибаюсь, то phpinfo() должен выводить информацию о том, активирован ли этот модуль.

olemar 21.08.2008 15:25

В том то и дело, что линки генирируются, а страницы по ним не находятся... Иначе бы я не спрашивал.

Fearless Goblin 21.08.2008 15:31

В таком случае проблема с mod_rewrite. Посмотрите, подключен ли он. Это можно сделать в "Admin Tools"->"Install"->"phpinfo()". Далее в "apache2handler"->"Loaded Modules" должен быть mod_rewrite. Если нету - значит трусите администрацию сервера, иначе только /index.php?id=10.

olemar 23.08.2008 14:15

Цитата:

Сообщение от Fearless Goblin (Сообщение 21117)
В таком случае проблема с mod_rewrite. Посмотрите, подключен ли он. Это можно сделать в "Admin Tools"->"Install"->"phpinfo()". Далее в "apache2handler"->"Loaded Modules" должен быть mod_rewrite. Если нету - значит трусите администрацию сервера, иначе только /index.php?id=10.

В ходе боёв с администрацией сервера и с .htaccess установлено доподленно, что сервер рулит как надо.Ради эксперемента положил test.php на сервер, затем написал в .htaccess, что линк mylink.html ничто иное, как test.php. Ура! Работает. Шаг второй: этому же линку говорю, что это ничто иное, как index.php. Результат: 404-я ошибка. В чём петля?
По моему разумению, разумению полного зелёного духа в тюпо3, если в .htaccess прописать ручками типа:

RewriteRule arztsuche.html index.php?id=176

должён хавать, но не хавает...

Andrey Grey 25.08.2008 21:56

404 ошибка решается просто. если вы попрежнему используете simulateStaticDocuments (без realURL), то просто зайдите в install tool и пропишите страницу которая должна отвечать за вывод ошики 404.
для реалурл практически тоже самое.
для мультисайтового варианта действия чуть сложнее...

nazaroff 19.06.2009 03:32

У меня наоборот все :(
Все сделал, как указано в инструкции...
Теперь ссылки на страницах остались в старом формате /index.php?id=about, но на страницу можно попасть и в новом /about
Что я мог сделать не так?


Часовой пояс GMT +4, время: 11:19.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot