0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 322 Просмотров
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Все привет, в общем задался я тем чтоб убрать index.php после доменного имени. Прописал правило в htacces и все заработало. Но стоит войти в VirtueMart в любую категорию или товар и вписать в ссылку index.php к примеру:
мойсайт.ру/категория/index.php/товар.html

И всеравно товар открывается и ссылка остается с INDEX.PHP.
Как исправить это, подскажите.  !
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #1 : 06.12.2016, 18:56:30 »
Цитировать
RewriteEngine on
RewriteRule ^index\.php/(.*) /$1 [R=301,L]
« Последнее редактирование: 07.12.2016, 00:04:15 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #2 : 06.12.2016, 23:54:02 »


Спасибо огромное, плюсанул !
Помогло и работает, но вот только не пойму одного, если я вставляю гдето index.php то все что до него и месте с ним удаляеться. К примеру

мойсайт.ру/категория1/index.php/категория2/товар.html нажимаем энтер и выходит теперь вот так мойсайт.ру/категория/товар.html

Сьело вот эту часть ссылки /категория1/index.php/ Это можно подправить ?
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #3 : 07.12.2016, 00:04:35 »
См. отредактированный ответ выше.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #4 : 07.12.2016, 00:30:01 »
См. отредактированный ответ выше.
Не работает совсем (((
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #5 : 07.12.2016, 00:32:13 »
Не работает совсем (((

Правило корректное: http://htaccess.mwl.be/ -- попробуйте почистить кэш.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

fsv

  • Moderator
  • 2524
  • 367
Re: index.php внутри ссылки. Как лечить ?
« Ответ #6 : 07.12.2016, 00:38:17 »
RewriteEngine on
RewriteRule (.*)index\.php/(.*) /$1$2 [R=301,L]
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #7 : 07.12.2016, 00:41:06 »
Цитировать
(.*)index\.php/(.*)

Ну я бы не советовал, т.к. совпадает с index.php на всех уровнях, что не является корректным решением. К тому же, правило совпадает, например со следующим:

Цитировать
iiiiiiiiiiindex.php
asdflksdjf.index.php

Рерайт должен быть точным.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #8 : 07.12.2016, 01:03:27 »
Правило корректное: http://htaccess.mwl.be/ -- попробуйте почистить кэш.

## Can be commented out if causes errors, see notes above.
Options +SymLinksIfOwnerMatch

## Mod_rewrite in use.
RewriteEngine On

#Вот код который убирает index.php:
RewriteRule ^index\.php/(.*) /$1 [R=301,L]
#RewriteRule index\.php/(.*) /$1 [R=301,L]


Чистил кеш, пробовал с телефона и другого компа, не работает, предыдущее правило работало, а это совсем не хочет.
Вот ссылка на сайт, проверьте сами если интересно.

http://ecolan.com.ua/shop/index.php/%D1%81%D1%82%D0%B8%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B/lg/lg-735l.html
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #9 : 07.12.2016, 01:10:57 »
Покажите в спойлере .htaccess целиком.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #10 : 07.12.2016, 01:11:41 »
А у вас сайт в подкаталоге что ли?
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #11 : 07.12.2016, 01:13:01 »
Спойлер
[свернуть]
*

yodis

  • Осваиваюсь на форуме
  • 52
  • 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #12 : 07.12.2016, 01:14:13 »
А у вас сайт в подкаталоге что ли?
Как это в подкаталоге ?
Путь выглядит вот так - Путь к файлам: /home/linkmart/ecolan.com.ua/www/
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Re: index.php внутри ссылки. Как лечить ?
« Ответ #13 : 07.12.2016, 01:40:50 »
Ну всё работает, как задумано: ссылка http://ecolan.com.ua/index.php/shop перенаправляет на http://ecolan.com.ua/shop. Проблема состоит в том, что Joomla! обрабатывает входящий URL по нескольким урлам -- дубли страниц, разнообразных вариантов которых великое множество. То есть файла shop/index.php физически не существует, идёт рерайт на index.php, который в корневом каталоге, то есть запрос передаётся на обработку роутера J!, который в силу его несовершенности открывает дубль.

Если хотите устранить index.php не только в корне, но и на других уровнях, то можете попробовать следующее:

Код
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.php/ [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (?|(^)|(.+/))index\.php/(.*) /$1$2 [R=301,L]

Это правило сначала проверяет, есть ли /index.php в урле на всех уровнях, затем проверяет, начинается ли он от корня, если нет, то проверяет, существует ли такой файл физически. Если такого файла физически не существует, то URL обрезается. Очень важно проверить существование файла, т.к. запрос, например, на administrator/index.php вызовет ошибку.

Прежде чем применять это правило, ответьте себе на вопрос, есть ли в этом прямая необходимость? Если страницы типа /shop/index.php не проиндексированы, то правило применять не надо -- лучше закрыть индексацию этих страниц в robots.txt. Однако перенаправление с корневого index.php вам следует сделать в любом случае:

Код
RewriteEngine on
RewriteRule ^index\.php/(.*) /$1 [R=301,L]
« Последнее редактирование: 07.12.2016, 01:55:31 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Прямые ссылки на товар без категорий

Автор neGODnic

Ответов: 7
Просмотров: 459
Последний ответ 16.11.2016, 09:15:37
от robert
Убрать /manufacturer/ из ссылки в хлебных крошках

Автор mkt

Ответов: 11
Просмотров: 2147
Последний ответ 24.10.2016, 11:02:09
от Сергей_y
Партнерские ссылки на кнопку "купить"

Автор Megos

Ответов: 8
Просмотров: 446
Последний ответ 10.04.2016, 20:03:40
от Megos
Использовать одно из полей в "Информации о товаре" как поле для ссылки

Автор Tur1st

Ответов: 1
Просмотров: 471
Последний ответ 08.04.2013, 09:55:32
от Tur1st
ЧПУ VM2 как убрать назв. категории из ссылки ?

Автор chandler

Ответов: 5
Просмотров: 1385
Последний ответ 28.03.2013, 16:42:26
от Diff