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

stardel

  • Завсегдатай
  • 1946
  • 22 / 0
Есть ссылка на Joomla 3  вот такого вида: moisait.ru/sylka/   надо чтобы не было слэша на конце...и сделать это без .htaccess  
это типо генерацию ссылок надо править? или как?) где копать?) CПС)

*

Snippet

  • Захожу иногда
  • 62
  • 9 / 0
Re: Убрать слеш на конце без.htaccess
« Ответ #1 : 19.07.2014, 18:57:17 »
Здесь почитайтеhttp://forum.joomla.org/viewtopic.php?f=618&t=701030
PS: не заметил, что вы без без.htaccess....
« Последнее редактирование: 19.07.2014, 19:00:27 от Snippet »
*

stardel

  • Завсегдатай
  • 1946
  • 22 / 0
Re: Убрать слеш на конце без.htaccess
« Ответ #2 : 19.07.2014, 19:09:10 »
Snippet да там тоже как я понял через  .htaccess  ....конечно я в англ. на очень силён...но вроде там нет решения(
будем ждать  Гуру...
*

Raski

  • Новичок
  • 1
  • 0 / 0
Re: Убрать слеш на конце без.htaccess
« Ответ #3 : 13.01.2015, 09:25:22 »
Удалить слеш программно (PHP)
Код
// Получаем URI для проверки
$uri = preg_replace("/\?.*/i",'', $_SERVER['REQUEST_URI']);
 
if (strlen($uri)>1) {// если не главная страница...
  if (rtrim($uri,'/')!=$uri) {
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace($uri, rtrim($uri,'/'), $_SERVER['REQUEST_URI']));
    exit();   
  }
}
код вставлять в начало index.php.

Добавить слеш программно (PHP)
Код
// Получаем URI для проверки
$uri = preg_replace("/\?.*/i",'', $_SERVER['REQUEST_URI']);
 
if (strlen($uri)>1) {// если не главная страница...
  if (rtrim($uri,'/')."/"!=$uri) {
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace($uri, $uri.'/', $_SERVER['REQUEST_URI']));
    exit();   
  }
}
код вставлять так же в начало index.php.
« Последнее редактирование: 13.01.2015, 09:28:55 от Raski »
*

SolopoV

  • Давно я тут
  • 557
  • 15 / 0
  • зеленею...
Re: Убрать слеш на конце без.htaccess
« Ответ #4 : 26.01.2022, 18:23:47 »
Joomla 3.10.5
В конфиге:
public $live_site = 'https://site.ru';
public $sef = '1';
public $sef_rewrite = '1';

.htaccess - родной

Смотрим под капот и видим:

<base href="https://site.ru/" />
<link href="https://site.ru/" rel="canonical" />

Откуда берется этот чертов / на конце? И как его прибить?
Для поисковика это две разные страницы.

*

draff

  • Гуру
  • 5803
  • 432 / 7
  • ищу работу
Re: Убрать слеш на конце без.htaccess
« Ответ #5 : 26.01.2022, 19:49:45 »
А прописать редирект в  .htaccess
п.8 FAQ - редиректы в htaccess
Код
RewriteRule ^(.*)/$ /$1 [R=301,L]
*

SolopoV

  • Давно я тут
  • 557
  • 15 / 0
  • зеленею...
Re: Убрать слеш на конце без.htaccess
« Ответ #6 : 26.01.2022, 20:05:09 »
А что  RewriteRule ^(.*)/$ /$1 [R=301,L]  внесет изменения в base href и rel="canonical" главной страницы ?

Добавил Ваш код в htaccess. Не помогло. Но все равно спасибо.

Собака, я думаю, зарыта глубже. Где то в самой CMS. Причем косяк этот не хилый. Поэтому поисковики Joomla и не жалуют особо.

Дубликат главной страницы, как ни  крути. Хоть редиректи. Но два URLа на одну страницу - факт.

Задал вопрос на forum.joomla.org, пока молчат.

Вставил пару костылей, работает:

if($_SERVER['REQUEST_URI'] == '/') {
$base = substr($document->getBase(), 0, -1);
 } else {
$base = $document->getBase();
 }

и

if (JURI::current() == JURI::base()) {
$canonical = $sefDomain;
}
else {
$canonical = $sefDomain . JUri::getInstance()->toString(array('path', 'query', 'fragment'));   
}
« Последнее редактирование: 28.01.2022, 11:19:28 от SolopoV »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать название только с главной страницы?

Автор Scaltro

Ответов: 6
Просмотров: 244
Последний ответ 14.08.2022, 21:14:20
от darkghost
Убрать index.php в url

Автор d0ublezer0

Ответов: 6
Просмотров: 180
Последний ответ 09.08.2022, 09:33:30
от sivers
Как убрать ссылки соц сетей на странице?

Автор 2ra

Ответов: 2
Просмотров: 232
Последний ответ 03.05.2022, 17:28:54
от marksetter
Убрать префикс языка многоязычного сайта для компонента

Автор vigiv

Ответов: 0
Просмотров: 185
Последний ответ 25.04.2022, 18:11:47
от vigiv
В конце ссылок знак &quot;?&quot;

Автор Leo1986

Ответов: 1
Просмотров: 149
Последний ответ 07.04.2022, 22:12:12
от Leo1986