Решил не плодить темы, поэтому спрошу в этой же другой вопрос.
Заметил в Джумле дубли, связанные с id материалов.
Одна и та же статья доступна по 2 адресам
cho-kak.ru/filisofiya/flection/49-kant.html
cho-kak.ru/filisofiya/flection/49.html
Как исправить?
Снимут ссылки с убитого сайта, чтоб деньги зря не платить)
На ПетерХосте есть специальный тариф под файлы. 14 гигов 150 рублей в месяц. Очень удобно.
Ошибки больше нет(было сайт.ру.ру). Но главная проблема не решена всё равно. До сих пор со всех страниц перекидывает на главную
imisterio добавил 07.11.2010 в 18:30
Эх, не удалось до конца всё-таки довести) Придется index.php закрывать в роботс.
Всё равно спасибо за помощь:)
zagred, а как /index.php закрыть в роботсе? Не закроет ли это полностью главную страницу?)
imisterio добавил 07.11.2010 в 18:11
RewriteEngine On #Включаем мод, все правила пишутся после этой директивы. RewriteCond %{REQUEST_URI} ^/(?:index\.php|home|home\.html)$ RewriteCond %{QUERY_STRING} ^$ RewriteRule .* http://www.сайт.ru/? [R=301,L] RewriteCond %{HTTP_HOST} ^сайт.ru RewriteRule (.*) http://www.сайт/$1 [R=301,L] RewriteCond %{REQUEST_URI} ^/sitemap.xml RewriteRule .* /index.php?option=com_xmap&sitemap=1&view=xml RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Теперь выдает ошибку на отличном розовом фоне)
Поставил RewriteEngine On в самое начало. Ничего не изменилось)
Получился такой файл:
RewriteCond %{REQUEST_URI} ^/(index\.php|home|home\.html)$ RewriteCond %{QUERY_STRING} ^$ RewriteRule .* http://www.сайт.ru/? [R=301,L] RewriteEngine On RewriteCond %{HTTP_HOST} ^сайт.ru RewriteRule (.*) http://www.сайт/$1 [R=301,L] RewriteCond %{REQUEST_URI} ^/sitemap.xml RewriteRule .* /index.php?option=com_xmap&sitemap=1&view=xml RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Но со всех страниц снова перекидывает на главную 😒
siv1987, спасибо.
zagred, ну роботс он мутный какой-то) То работает то нет.
imisterio добавил 07.11.2010 в 16:27
Теперь со всех страниц перекидывает на главную. Очевидно что-то не то)
imisterio добавил 07.11.2010 в 16:40
Скорее всего это связано с тем, что уже есть 1 редирект для SEF ссылок, который перенаправляет с index.php?.. страниц на .html страницы.
Пришлось сделать такой редирект:
RewriteCond %{REQUEST_URI} ^/(?:home|home\.html)$ RewriteRule .* http://site.ru/? [R=301,L]
От двух дублей избавился но / и index.php всё равно будут :(
PyMbIH, Koleman спасибо :) Просто не знал как спросить у Гугла.
Как всегда ответы уже есть. :)