Новости Joomla

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

yodis

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

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

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
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
  • 2 / 1
Re: index.php внутри ссылки. Как лечить ?
« Ответ #2 : 06.12.2016, 23:54:02 »


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

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

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

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: index.php внутри ссылки. Как лечить ?
« Ответ #3 : 07.12.2016, 00:04:35 »
См. отредактированный ответ выше.
*

yodis

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

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: index.php внутри ссылки. Как лечить ?
« Ответ #5 : 07.12.2016, 00:32:13 »
Не работает совсем (((

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

fsv

  • Moderator
  • 2765
  • 402 / 2
Re: index.php внутри ссылки. Как лечить ?
« Ответ #6 : 07.12.2016, 00:38:17 »
RewriteEngine on
RewriteRule (.*)index\.php/(.*) /$1$2 [R=301,L]
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: index.php внутри ссылки. Как лечить ?
« Ответ #7 : 07.12.2016, 00:41:06 »
Цитировать
(.*)index\.php/(.*)

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

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

Рерайт должен быть точным.
*

yodis

  • Захожу иногда
  • 52
  • 2 / 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
*

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: index.php внутри ссылки. Как лечить ?
« Ответ #9 : 07.12.2016, 01:10:57 »
Покажите в спойлере .htaccess целиком.
*

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: index.php внутри ссылки. Как лечить ?
« Ответ #10 : 07.12.2016, 01:11:41 »
А у вас сайт в подкаталоге что ли?
*

yodis

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

yodis

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

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

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
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
Просмотров: 1454
Последний ответ 16.11.2016, 09:15:37
от robert
Убрать /manufacturer/ из ссылки в хлебных крошках

Автор mkt

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

Автор Megos

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

Автор Tur1st

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

Автор chandler

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