Настройка .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
Поддержка
Поддержка
Сообщения: 9777
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2719 раз

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
Сообщения: 1528
Зарегистрирован: 31.03.2012 20:28
Откуда: Одесса
Благодарил (а): 522 раза
Поблагодарили: 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
Поддержка
Поддержка
Сообщения: 9777
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2719 раз

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
Сообщения: 14533
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 348 раз
Поблагодарили: 1556 раз

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 1.2.0
Сообщения: 10
Зарегистрирован: 20.11.2019 16:28

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

Сообщение Парадоксал » 28.11.2019 16:04

Здравствуйте! У меня стоит portal.php на phpbb, я хочу сделать редирект, чтобы не было дублей страниц с site.ru на site.ru/portal.php (оставить ее главной страницей). Сейчас у меня выставлен только порядок загрузки индексных страниц - DirectoryIndex portal.php index.php index.html index.htm Как правильно прописать правила редиректа? Достаточно будет поставить Redirect 301 http://site.ru/ http://site.ru/portal.php или как лучше?

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

RewriteEngine On
RewriteCond %{HTTP_HOST} ^\.site\.ru$ [NC]
RewriteRule ^$ http://www.site.ru/portal.php [R=301,L]?
И второй вопрос, мне надо сделать редирект с несуществующих страниц на главную - как лучше это прописать?
Последний раз редактировалось Sheer 28.11.2019 18:28, всего редактировалось 1 раз.
Причина: bb-код

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