Страница 1 из 1

Настройка .htaccess

Добавлено: 10.07.2019 20:55
mtl
Добрый день

С помощью гуру форума сейчас у меня вот такой .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>

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

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

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

Добавлено: 11.07.2019 6:05
mtl
Сможете помочь с другими вопросами?

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

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

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

Добавлено: 12.07.2019 15:43
mtl
Татьяна5, вы мне помогали с этим файлом.

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

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

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

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

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

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

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

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

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

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

Добавлено: 22.09.2019 10:23
mtl
Не согласен.

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

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

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

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

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

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

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]?
И второй вопрос, мне надо сделать редирект с несуществующих страниц на главную - как лучше это прописать?