Страница 2 из 3

Сообщение #21Добавлено: 06.03.2016, 17:56
SinglWolf
Добавлю своих пять копеек в копилку портала.
Чтобы сделать главной страницей портал надо в файл .htaccess записать строчку:
Код: Выделить всё
DirectoryIndex app.php index.php
Остаётся неприятность в хлебных крошках. Ссылка там формируется такая: домен/app.php/portal
Решается просто, идём в каталог ext/board3/portal/event/, там есть 1 файл listener.php. Находим строку (132 у меня) с содержимым
Код: Выделить всё
'U_PORTAL'   => $portal_link
и меняем её на
Код: Выделить всё
'U_PORTAL'   => '/'
Чистим кеши и радуемся :smile:
Понимаю, что костыль, но работает. :biggrin:

Сообщение #22Добавлено: 20.03.2016, 14:17
SinglWolf
Кто-нибудь смог избавиться от
Код: Выделить всё
/app.php/portal
в адресной строке? :think:
Какие только правила в .htaccess не гуглил - не помогает. Которые есть - не работают...

Сообщение #23Добавлено: 20.03.2016, 14:43
Sumanai
От app.php/ должно помогать включение реврайтов в админке, в "Настройки сервера"- "Включить URL Rewriting".

Сообщение #24Добавлено: 20.03.2016, 17:06
SinglWolf
Sumanai:"Включить URL Rewriting".
Слона я и не приметил, блин :oops: :kettle:

Сообщение #25Добавлено: 01.04.2016, 08:16
SinglWolf
Тут на днях залез в Яндекс-вебмастер и увидел неприглядную картину:
Документ с урл /index.php является неканоническим. Посмотрел в заголовок этой страницы... И правда. Там ссылка на корень сайта. А в корне портал... У портала вообще нет канонической ссылки... :sad: Мдя... :think:
Я конечно не гуру во всех энтих премудростях, но почесав затылок, изобрёл костыль:
Ищем в каталоге стиля template/ файл overall_header.html и находим сроки, отвечающие за отображение канонической ссылки:
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF -->
И меняем на такое содержимое:
Код: Выделить всё
<!-- IF U_CANONICAL == "" -->
   <link rel="canonical" href="http://my_site.domain/">
<!-- ELSE --><!-- IF U_CANONICAL == "http://my_site.domain/" -->
   <link rel="canonical" href="{U_CANONICAL}index.php">
<!-- ELSE -->   
   <link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF --><!-- ENDIF -->
Теперь, надеюсь, поисковикам понравится.... :pray: Не забудьте в ссылках поставить имя своего сайта :smile:

Добавлено спустя 7 минут 42 секунды:
Сейчас глянул, для интереса, в заголовок страницы по ссылкам my_site.domain/ и my_site.domain/portal Каноническая ссылка указывает на корень сайта, что и требовалось. :clap:

Сообщение #26Добавлено: 01.04.2016, 11:31
Sumanai
Первая строчка сомнительная. Лучше вообще не добавлять каноникал на тех страницах, на которых он не определён. А то туда могут попасть и другие страницы.

Сообщение #27Добавлено: 01.04.2016, 11:36
ЖЪРЧИК
index.php убрать с главной как? я что то не понял где писать.

Сообщение #28Добавлено: 01.04.2016, 12:55
Sumanai
ЖЪРЧИК, вы вообще не поняли о чем идет речь.
В поиск.

Сообщение #29Добавлено: 01.04.2016, 13:08
SinglWolf
Sumanai, я же честно сказал, что изобрёл костыль. :smile: Посмотрим что скажет яша через пару-другую недель. :smoke:

Сообщение #30Добавлено: 01.04.2016, 14:55
ЖЪРЧИК
Sumanai, я понял что речь не об этом

Открыть: includes/functions.php
Найти:

'U_INDEX' => append_sid("{$phpbb_root_path}index.$phpEx"),

Заменить на:

'U_INDEX' => append_sid("{$phpbb_root_path}"),

или
DirectoryIndex index.php

Сообщение #31Добавлено: 01.04.2016, 15:49
SinglWolf
ЖЪРЧИК, я говорю про канонические ссылки в заголовках страницы. Если портал прикручен как главная сайта, то страница /index.php выпадает из поиска из-за неправильной канонической ссылки
Код: Выделить всё
<head>
[ ...... ]
<link rel="canonical" href="http://mydomain.lan/">
[ ...... ]
</head>
А должна быть такая ссылка
Код: Выделить всё
<head>
[ ...... ]
<link rel="canonical" href="http://mydomain.lan/index.php">
[ ...... ]
</head>
Вот я и придумал костыль как решить эту проблему. :smile:

Сообщение #32Добавлено: 01.04.2016, 16:06
Sumanai
SinglWolf:А должна быть такая ссылка
Вот её и нужно было править:
/index.php, найти
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/',
Заменить на
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/index.php',

Сообщение #33Добавлено: 01.04.2016, 16:28
SinglWolf
Sumanai, можно и там, но при обновлении всё слетит, и ведь никто не напомнит :smile:
Скажите, пожалуйста, какая переменная в шаблоне указывает на адрес текущей страницы? Попробую переделать свой костыль.

Сообщение #34Добавлено: 01.04.2016, 16:39
Sumanai
Можно расширением сделать, тогда ничего не слетит.

Сообщение #35Добавлено: 01.04.2016, 16:47
SinglWolf
Sumanai, кто бы мне сказал как это расширение сделать :think: Просто скажите какая переменная в шаблоне выдаёт текущий урл, пожалуйста. :pray:

Сообщение #36Добавлено: 01.04.2016, 16:57
Sumanai
SinglWolf, вы просто костылите, вместо решения проблемы. Такой переменной нет.

Сообщение #37Добавлено: 01.04.2016, 17:04
SinglWolf
Вот, переделал с учётом замечаний, озвученных выше. Может кому мой метод покажется приемлемым, ибо правка в /index.php всё равно оставляет страницу портала без канонической ссылки.
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <!-- IF U_INDEX -->
      <link rel="canonical" href="{U_CANONICAL}index.php">
   <!-- ELSE -->
      <link rel="canonical" href="{U_CANONICAL}">      
   <!-- ENDIF -->
<!-- ELSE -->
   <!-- IF U_PORTAL -->
      <link rel="canonical" href="http://mydomain.lan/">
   <!-- ENDIF -->
<!-- ENDIF -->

Добавлено спустя 3 часа 8 минут:
Блин... Методом научного тыка и проверкой хождениям по всяким ссылкам своего форума костыль приобрёл такую форму
Переменная U_INDEX ведёт себя как переменная, пришлось проверять ссылку.
Добавка and S_CENTER_COLUMN оказалась нужна, если включен показ на всех страницах левой или правой колонки портала.
Код: Выделить всё
<!-- IF U_CANONICAL -->
   <!-- IF U_CANONICAL == "http://my_site.domain/" -->
      <link rel="canonical" href="{U_CANONICAL}index.php">
   <!-- ELSE -->
      <link rel="canonical" href="{U_CANONICAL}">      
   <!-- ENDIF -->
<!-- ELSE -->
   <!-- IF U_PORTAL and S_CENTER_COLUMN -->
      <link rel="canonical" href="http://my_site.domain/">
   <!-- ENDIF -->
<!-- ENDIF -->
Если править как
Sumanai:/index.php, найти
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/',
Заменить на
Код: Выделить всё
   'U_CANONICAL'      => generate_board_url() . '/index.php',
то моя конструкция получится проще
Код: Выделить всё
<!-- IF U_CANONICAL -->
      <link rel="canonical" href="{U_CANONICAL}">      
<!-- ELSE -->
   <!-- IF U_PORTAL and S_CENTER_COLUMN -->
      <link rel="canonical" href="http://my_site.domain/">
   <!-- ENDIF -->
<!-- ENDIF -->

Сообщение #38Добавлено: 01.04.2016, 20:26
Sumanai
SinglWolf:то моя конструкция получится проще
Опять таки лучше добавить прописывание каноникла в файлы портала, и тогда тему можно будет вообще не менять.

Сообщение #39Добавлено: 01.04.2016, 20:31
SinglWolf
Sumanai, я всеми конечностями "ЗА", но мои познания в движке форума ограничиваются построением таких вот костыликов. :oops: В файлах портала опять какое-то условие надо проверять... :nervious:

Сообщение #40Добавлено: 19.06.2016, 18:45
Neufoxet
pisikot:А с русским как дела? от пред. версии брать?
https://www.phpbb.com/customise/db/extension/board3_portal_ext/support/topic/158451