Склейка индекс страниц в .htaccess.
Проверка склейки индекс страниц
Страницы с адресом
Ваш сайт/index.html
Ваш сайт/index.php
Ваш сайт/index
Должны быть корректно склеены. В противном случае, по этим адресам выводится дубль главной страницы.
Вам необходимо провести склейку 301 редиректом в файле .htaccess.
СДЕЛАЛ ТАК:
# InstantCMS rewriting rules
# Initialization
AddDefaultCharset utf-8
Options -Indexes
RewriteEngine on
RewriteBase /
# Rewrite www
RewriteCond %{HTTP_HOST} ^www.Ваш сайт$
RewriteRule (.*) Ваш сайт/$1 [R=301,L]
#
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ Ваш сайт/ [R=301,L]
# Hide text files
RewriteRule ^.htaccess$ — [F]
RewriteRule ^credits.txt$ — [F]
RewriteRule ^readme.txt$ — [F]
RewriteRule ^license.(.*).txt$ — [F]
# Remove trailing slash from URLs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Sitemaps
RewriteRule ^sitemap(.*).xml$ /cache/static/sitemaps/sitemap$1.xml [L]
# Engine routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
НЕ ПОМОГЛО КАК ТАК???
Проверил на демо-сайте, при переходе по любому из следующих адресов:
demo.instantcms.ru/index.html
demo.instantcms.ru/index.php
demo.instantcms.ru/index
получаем 404 ошибку (страницы не существует). Следовательно никаких дублей нет 😉
Причем склейка с www на без www заработала))) и при
#
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ Ваш сайт/ [R=301,L]
Ваш сайт/index.php склейка заработала а вот позиции /index.html ,/index не хотят.
Я вот и спрашиваю гуру инстанта, где тут ошибку искать???
#
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ Ваш сайт/ [R=301,L]
Это решило одну задачу Склейки (index.php)
2 Склейки (index.html)
3 Склейки (index)
Висят в проблемах.
А Дубль страницы в системе рождается я думаю так:
Ваш сайт/кириллическое название
Ваш сайт/Punycode
Ну это вообще шах и мат у кого кириллический сайт вот)))