Настройка .htaccess

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
mtl
phpBB 1.4.3
Сообщения: 96
Зарегистрирован: 16.05.2007 10:02
Благодарил (а): 9 раз

Настройка .htaccess

Сообщение mtl » 10.07.2019 20:55

Добрый день

С помощью гуру форума сейчас у меня вот такой .htaccess (чуть ниже)

Два вопроса:

1. Можно ли избавится от /viewtopic.php?t=1652&start= в конце темы?
Такой урл появляется при переходе с гула, где урлы вида /topic1652.html
Сейчас идет миграция с сео урлов на обычныные.

2. Как правильно настроить редиректы с index.php на главной?

Вот эти строки хорошо работали на http, но на https не работают:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.mydomaim.com/ [R=301,L]

3. Существует ли решение,позволяющее на все страницы одной темы, форума ставить однинаковый rel=canonical, соответствующий первой странице форума или темы (без &start=***)?
Сейчас вот так:
<link rel="canonical" href="https://www.******/viewforum.php?f=61&amp;start=100">

Код: Выделить всё

<IfModule mod_rewrite.c>
RewriteEngine on
 
#
# Uncomment the statement below if URL rewriting doesn't
# work properly. If you installed phpBB in a subdirectory
# of your site, properly set the argument for the statement.
# e.g.: if your domain is test.com and you installed phpBB
# in http://www.test.com/phpBB/index.php you have to set
# the statement RewriteBase /phpBB/
#
#RewriteBase /
 
#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.********/ [R=301,L]


 
#####################################################
# FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
# RewriteRule ^forum\.html$ /index.php [QSA,L,R=301]
# FORUM ALL MODES
RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ /viewforum.php?f=$2&start=$4 [QSA,L,R=301]
# TOPIC WITH VIRTUAL FOLDER ALL MODES
RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,R=301]
# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?t=$3&start=$5 [QSA,L,R=301]
# PHPBB FILES ALL MODES
RewriteRule ^resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$ /download/file.php?id=$2&t=$1 [QSA,L,R=301]
# PROFILES ALL MODES WITH ID
RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)\.html$ /memberlist.php?mode=viewprofile&u=$2 [QSA,L,R=301]
# USER MESSAGES ALL MODES WITH ID
RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)-(topics|posts)(-([0-9]+))?\.html$ /search.php?author_id=$2&sr=$3&start=$5 [QSA,L,R=301]
# GROUPS ALL MODES
RewriteRule ^(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /memberlist.php?mode=group&g=$2&start=$4 [QSA,L,R=301]
# POST
RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L,R=301]
# ACTIVE TOPICS
RewriteRule ^active-topics(-([0-9]+))?\.html$ /search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,R=301]
# UNANSWERED TOPICS
RewriteRule ^unanswered(-([0-9]+))?\.html$ /search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,R=301]
# NEW POSTS
RewriteRule ^newposts(-([0-9]+))?\.html$ /search.php?search_id=newposts&start=$2&sr=topics [QSA,L,R=301]
# UNREAD POSTS
RewriteRule ^unreadposts(-([0-9]+))?\.html$ /search.php?search_id=unreadposts&start=$2 [QSA,L,R=301]
# THE TEAM
RewriteRule ^the-team\.html$ /memberlist.php?mode=leaders [QSA,L,R=301]
#####################################################
 
#
# The following 3 lines will rewrite URLs passed through the front controller
# to not require app.php in the actual URL. In other words, a controller is
# by default accessed at /app.php/my/controller, but can also be accessed at
# /my/controller
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
 
#
# If symbolic links are not already being followed,
# uncomment the line below.
# http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/
#
#Options +FollowSymLinks
</IfModule>
 
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
# module mod_authz_host to a new module called mod_access_compat (which may be
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.
# We could just conditionally provide both versions, but unfortunately Apache
# does not explicitly tell us its version if the module mod_version is not
# available. In this case, we check for the availability of module
# mod_authz_core (which should be on 2.4 or higher only) as a best guess.
<IfModule mod_version.c>
	<IfVersion < 2.4>
		<Files "config.php">
			Order Allow,Deny
			Deny from All
		</Files>
		<Files "common.php">
			Order Allow,Deny
			Deny from All
		</Files>
	</IfVersion>
	<IfVersion >= 2.4>
		<Files "config.php">
			Require all denied
		</Files>
		<Files "common.php">
			Require all denied
		</Files>
	</IfVersion>
</IfModule>
<IfModule !mod_version.c>
	<IfModule !mod_authz_core.c>
		<Files "config.php">
			Order Allow,Deny
			Deny from All
		</Files>
		<Files "common.php">
			Order Allow,Deny
			Deny from All
		</Files>
	</IfModule>
	<IfModule mod_authz_core.c>
		<Files "config.php">
			Require all denied
		</Files>
		<Files "common.php">
			Require all denied
		</Files>
	</IfModule>
</IfModule>

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9644
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2673 раза
Контактная информация:

Re: Настройка .htaccess

Сообщение Татьяна5 » 10.07.2019 23:43

mtl писал(а):
10.07.2019 20:55
3. Существует ли решение,позволяющее на все страницы одной темы, форума ставить однинаковый rel=canonical, соответствующий первой странице форума или темы (без &start=***)?
Его существовать не будет, т.к. решение вредное. На разные страницы должны быть разные ссылки

mtl
phpBB 1.4.3
Сообщения: 96
Зарегистрирован: 16.05.2007 10:02
Благодарил (а): 9 раз

Re: Настройка .htaccess

Сообщение mtl » 11.07.2019 6:05

Сможете помочь с другими вопросами?

Аватара пользователя
romaamor
phpBB 3.0.0 RC2
Сообщения: 1518
Зарегистрирован: 31.03.2012 20:28
Откуда: Одесса
Благодарил (а): 518 раз
Поблагодарили: 126 раз

Re: Настройка .htaccess

Сообщение romaamor » 11.07.2019 6:16

Татьяна5 писал(а):
10.07.2019 23:43
т.к. решение вредное.
Татьяна5, ото с расширения 3.1 ?

mtl
phpBB 1.4.3
Сообщения: 96
Зарегистрирован: 16.05.2007 10:02
Благодарил (а): 9 раз

Re: Настройка .htaccess

Сообщение mtl » 12.07.2019 15:43

Татьяна5, вы мне помогали с этим файлом.

Можете подсказать, в чем тут дело?
Почему неработает на https редирект с index.php на главную?

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9644
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2673 раза
Контактная информация:

Re: Настройка .htaccess

Сообщение Татьяна5 » 12.07.2019 15:46

Причин может быть очень много, большая часть связана с сервером. Настройка сервера не в моей компетенции

mtl
phpBB 1.4.3
Сообщения: 96
Зарегистрирован: 16.05.2007 10:02
Благодарил (а): 9 раз

Re: Настройка .htaccess

Сообщение mtl » 22.09.2019 9:04

Татьяна5 писал(а):
10.07.2019 23:43
mtl писал(а):
10.07.2019 20:55
3. Существует ли решение,позволяющее на все страницы одной темы, форума ставить однинаковый rel=canonical, соответствующий первой странице форума или темы (без &start=***)?
Его существовать не будет, т.к. решение вредное. На разные страницы должны быть разные ссылки
Хотел бы вернуться к вопросу об одинаковом rel="canonical" для всех страницах темы.
Почему вы считаете, что разные разные страницы должны иметь разные урлы в данном случае?

Мы имеет одну тему с пагинацией. Стандартное решение - каноникал на одну страницу. В данном случае первая лучше подходит.

Разъясните, пожалуйста, если я не прав. Это важный вопрос.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14405
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Re: Настройка .htaccess

Сообщение rxu » 22.09.2019 9:33

mtl писал(а):
22.09.2019 9:04
Почему вы считаете, что разные разные страницы должны иметь разные урлы в данном случае?
Видимо, потому, что для поиска это - разные страницы с разным контентом.
Изображение

mtl
phpBB 1.4.3
Сообщения: 96
Зарегистрирован: 16.05.2007 10:02
Благодарил (а): 9 раз

Re: Настройка .htaccess

Сообщение mtl » 22.09.2019 10:23

Не согласен.

Для поиска, это страницы с эквивалентным заголовком (с несущественной разницей), эквивалентными метаданными и контентом, суть которого полостью описывается основным заголовком темы. Сами страницы взаимозаменяемы. Для поиска не важно, 20-я это страница или 307.
Кроме того, именно на первой странице содержится описание топика.
Даже если пользователь попадет на промежуточную страницу, он все равно вернется на первую, если первое сообщение не продублировано на каждой странице.

Стандартные СЕО методы предполагают удаление из индекса неосновных страниц с пагинацией.
Есть ли какое рациональное обоснование тому, что все 100 или 300 страниц темы должны быть в поиске?

Я ни на чем не настаиваю. Вопрос важный, поэтому хочу его прояснить.

Отправлено спустя 1 час 19 минут 54 секунды:
Я прояснил ворос.

Я не учел, что некоторые посты в теме могут быть вполне самостоятельной единицей контента. Иногда даже очень далекой от темы топика.

Поэтому использование другого каноникла будет ошибочным.

Ответить

Вернуться в «Поддержка phpBB 3.2.x»