Jump to content

Recommended Posts

Народ подскажите плз, как правильно в файле .htaccess прописать склейку страниц. Суть вот в чем, ранее страницы сайта были доступны по адресу мойсат.ру/index.php/страница , теперь index.php от этого промежутка избавился, получилось мойсат.ру/страница , однако страница теперь доступна по двум урлам. Как правильно прописать склейку в файле .htaccess ? Спасибо за ранее ))) Буду благодарен за любую информацию , можно ссылку по теме))))

Link to post
Share on other sites

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

 

 

p.s. заранее пишется слитно.

Спасибо за совет, попробую.

 

з.ы. Про слитно в курсе, просто на клаву не смотрю когда печатаю, видимо случайно нажал на пробел

Link to post
Share on other sites

Попробуйте это:

 

Redirect 301 /index.php/страница /страница

 

 

Это для роботса? Проще закрыть от индексации. Нужен клей, вариант как в случае с www и без

Link to post
Share on other sites
  • VIP

Это для роботса? Проще закрыть от индексации. Нужен клей, вариант как в случае с www и без

 

Это для htacess, только вместо "страница" писать, естественно, латиницей.

Обязательно 2 пробела перед /index и после php/

 

Придется перечислить все страницы, если их вид page2, page3 и т.д. (несколько схожих строк).

Если page/2, page/3, то достаточно одной строчки что-то вроде:

 

Redirect 301 /index.php/page/ /page/

 

Но надо проверять.

Link to post
Share on other sites

Это для htacess, только вместо "страница" писать, естественно, латиницей.

Обязательно 2 пробела перед /index и после php/

страниц порядка 5к..... я так понял нужно прописать каждую ?

Link to post
Share on other sites
  • VIP

страниц порядка 5к..... я так понял нужно прописать каждую ?

Приведите конкретный вид старой ссылки вашего сайта, который надо переделать. Можно заменить домен на site.ru, если не хотите урл показывать.

Link to post
Share on other sites

 

Удаление дубля главной страницы - index.php из URL

Последние версии SEF-компонентов (sh404SEF и MijoSEF) не делают автоматических редиректов с _http://joomla-docs.ru/index.phpна корень сайта _http://joomla-docs.ru/, поэтому добавляем код


RewriteCond %{THE_REQUEST} !^POST

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$

RewriteRule ^index\.php$ http%2://DOMAIN.ru/ [R=301,L]

DOMAIN.ru естественно меняем на свой домен

Все другие конструкции могу приводить к проблемам с POST-запросами напрямую через файл index.php (вместо выполнения получим редирект на корень сайта). Поэтому для редиректа обязательно исключение запросов POST.

 

Link to post
Share on other sites
  • VIP

Поискал за вас в Сети варианты решения проблемы, естественно, я их не проверял:

 

Вариант 1.

 

"Для того, чтобы убрать index.php нужно:

  • в корне Joomla! переименовать файл в htaccess.txt в .htaccess;
  • в .htaccess раскомментировать строку
Код

RewriteBase /

  • в панели управления Joomla! установить параметр "Перенаправление URL" = "Да"."

 

Вариант 2.

 

Самый быстрый и простой способ убрать index.php из ссылки в Joomla 2.5.4 и любых других версий это компонент Artio JoomSEF он есть как платный так и бесплатный
этот компонент сам создаст файл .htaccess и сделает 301 редиректы  ссылок  сайт/index.php/товар на сайт/товар.
также в нем можно вручную настроить все переходы и данные для  seo оптимизации

 

Вариант 3.

 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

 

 

Вариант 4.

 

Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1[R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.com/[R=301,L]

 

 

Вариант 5.

 

DirectoryIndex index.php index.html
 Options +FollowSymLinks
 Options -Indexes
 <IfModule mod_rewrite.c>   
 RewriteEngine On
 RewriteBase /   
 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^(.+) - [PT,L]
 RewriteRule ^(.*) index.php
 RewriteCond %{HTTP:Authorization}  !^$
 RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
 </IfModule>
 #php_value register_globals 0

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...