Sign in to follow this  
Followers 0
pol-nk

.htaccess

11 posts in this topic

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

 

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


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.

 

witosp likes this

Share this post


Link to post
Share on other sites

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

 

Вариант 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

witosp likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.