Просмотр полной версии : 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
Может и не работает...
В смысле линки генирируются, это я вижу.
А будут ли они вообще работать как надо, когда адреса станет понимать, не знаю, пока нет возможности проверить.
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() должен выводить информацию о том, активирован ли этот модуль.
В том то и дело, что линки генирируются, а страницы по ним не находятся... Иначе бы я не спрашивал.
Fearless Goblin
21.08.2008, 15:31
В таком случае проблема с mod_rewrite. Посмотрите, подключен ли он. Это можно сделать в "Admin Tools"->"Install"->"phpinfo()". Далее в "apache2handler"->"Loaded Modules" должен быть mod_rewrite. Если нету - значит трусите администрацию сервера, иначе только /index.php?id=10.
В таком случае проблема с 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
Что я мог сделать не так?
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot