PDA

Просмотр полной версии : simulateStaticDocuments


olemar
20.08.2008, 20:04
Добрый день.

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

пытаюсь изменить ссылки на странице из вида 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
А будут ли они вообще работать как надо, когда адреса станет понимать, не знаю, пока нет возможности проверить.
Что-то я вообще не понял смысл этого предложения... Если линки генерятся и при переходе по ним отображется то ,что должно отображаться - то всё нормально.
Ну, и, естественно, страница будет доступна, как по адресу: /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
В таком случае проблема с 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
Что я мог сделать не так?