Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекращает поддержку phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2020 года.
С учетом этого, а также того, что версия 3.2.x больше не будет получать обновлений, за исключением связанных с проблемами безопасности
(только при их наличии и только до 7 ноября 2020 года), рекомендуется обновить конференции до версии 3.3.x.

[FAQ] Миграция с seo url на стандартные (дефолтные) ссылки

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 579
Стаж: 14 лет 6 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение ***Blaze*** »

apollion, дефлотный .htaccess там и лежал (в корне директории root/forum).
Я же правил в корне сайта root/.htaccess

Для эксперимента взял из root/.htaccess и скопировал его в root/forum, перешел по ссылки вида http://сайт.ru/forum/topic1258-70.html#p15816
и результат тот же, ссылка не преобразовалась, соответственно 301 редирект не сработал на дефлотную ссылку phpBB 3.1.9

Отправлено спустя 25 минут 9 секунд:
Вот такой вариант .htaccess в root/forum

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

<IfModule mod_rewrite.c>
     # You may need to un-comment the following lines
     # Options +FollowSymlinks
     # To make sure that rewritten dir or file (/|.html) will not load dir.php in case it exist
     # Options -MultiViews
     # REMEBER YOU ONLY NEED TO STARD MOD REWRITE ONCE
     RewriteEngine On

     # 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]

     # REWRITE BASE
     RewriteBase /

     # HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN
     # Define fully qualified ssl aware protocol
     # RewriteCond %{SERVER_PORT}s ^(443(s)|[0-9]+s)$
     # RewriteRule ^.*$ - [env=HttpFullProto:http%2://]
     # RewriteCond %{HTTP_HOST} !^ublaze\.ru$ [NC]
     # RewriteRule ^(.*)$ %{ENV:HttpFullProto}ublaze.ru/$1 [QSA,L,R=301]

     # DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
     RewriteCond %{REQUEST_FILENAME} -f [OR]
     RewriteCond %{REQUEST_FILENAME} -d
     RewriteRule . - [L]
     # FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
     # RewriteRule ^forum/forum\.html$ /forum/index.php [QSA,L,R=301]
     # FORUM ALL MODES
     RewriteRule ^forum/(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ /forum/viewforum.php?f=$2&start=$4 [QSA,L,R=301]
     # TOPIC WITH VIRTUAL FOLDER ALL MODES
     RewriteRule ^forum/(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum/viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,R=301]
     # TOPIC WITHOUT FORUM ID & DELIM ALL MODES
     RewriteRule ^forum/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum/viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,R=301]
     # PROFILES ALL MODES WITH ID
     RewriteRule ^forum/(member|[a-z0-9_-]*-u)([0-9]+)\.html$ /forum/memberlist.php?mode=viewprofile&u=$2 [QSA,L,R=301]
     # USER MESSAGES ALL MODES WITH ID
     RewriteRule ^forum/(member|[a-z0-9_-]*-u)([0-9]+)-(topics|posts)(-([0-9]+))?\.html$ /forum/search.php?author_id=$2&sr=$3&start=$5 [QSA,L,R=301]
     # GROUPS ALL MODES
     RewriteRule ^forum/(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /forum/memberlist.php?mode=group&g=$2&start=$4 [QSA,L,R=301]
     # POSTS
     RewriteRule ^forum/post([0-9]+)\.html$ /forum/viewtopic.php?p=$1 [QSA,L,R=301]
     # ACTIVE TOPICS
     RewriteRule ^forum/active-topics(-([0-9]+))?\.html$ /forum/search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,R=301]
     # UNANSWERED TOPICS
     RewriteRule ^forum/unanswered(-([0-9]+))?\.html$ /forum/search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,R=301]
     # NEW POSTS
     RewriteRule ^forum/newposts(-([0-9]+))?\.html$ /forum/search.php?search_id=newposts&start=$2&sr=topics [QSA,L,R=301]
     # UNREAD POSTS
     RewriteRule ^forum/unreadposts(-([0-9]+))?\.html$ /forum/search.php?search_id=unreadposts&start=$2 [QSA,L,R=301]
     # THE TEAM
     RewriteRule ^forum/the-team\.html$ /forum/memberlist.php?mode=team [QSA,L,R=301]
     # HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES
     
     # FORUM WITHOUT ID & DELIM ALL MODES
     # THESE LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteRule ^forum/([a-z0-9_-]+?)(-([0-9]+))?\.html$ /forum/viewforum.php?forum_uri=$1&start=$3 [QSA,L,R=301]
     # FIX RELATIVE PATHS : FILES
     RewriteRule ^forum/(style\.php|ucp\.php|mcp\.php|faq\.php|posting\.php|download/file\.php|report\.php|adm/index\.php|cron\.php)$ /forum/$1 [QSA,L,NC,R=301]
     # FIX RELATIVE PATHS : IMAGES
     RewriteRule ^forum/(styles/.*|images/.*|assets/.*|ext/.*)$ /forum/$1 [QSA,L,NC,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 ^forum/(.*)$ /forum/app.php [QSA,L]

</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>
выдал мне такую ошибку
Not Found

The requested URL /forum/topic1258-70.html was not found on this server.
Apache/2.4.10 (Unix) Server at ublaze.ru Port 80
Мой сайт http://ublaze.ru/
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10625
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3006 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение Татьяна5 »

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

<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 /forum/

#
# 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]

#
# 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>

# DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
#####################################################
# PHPBB SEO REWRITE RULES ALL MODES
#####################################################
# AUTHOR : dcz www.phpbb-seo.com
# STARTED : 01/2006
#################################
# FORUMS PAGES
###############
# 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?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]
# PROFILES THROUGH USERNAME
RewriteRule ^member/([^/]+)/?$ /memberlist.php?mode=viewprofile&un=$1 [QSA,L,R=301]
# USER MESSAGES THROUGH USERNAME
RewriteRule ^member/([^/]+)/(topics|posts)/?(page([0-9]+)\.html)?$ /search.php?author=$1&sr=$2&start=$4 [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]
# 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=team [QSA,L,R=301]


# TEST
RewriteRule ^test\.html$ /index.php [QSA,L,R=301]
А если так? Для корня форума
(Последняя строка - проверка что переадресация вообще работает)
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 579
Стаж: 14 лет 6 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение ***Blaze*** »

Если зайти по http://мой_сайт.ru/forum/test.html

Появляется такая ошибка
Информация

No route found for "GET /test.html"
Может проблема у хостинга?
Мой сайт http://ublaze.ru/
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10625
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3006 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение Татьяна5 »

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

RewriteRule ^forum/test\.html$ forum/index.php [QSA,L,R=301]
Можно ещё так, на всякий, попробовать. Если не сработает - .htaccess однозначно не при чём, виноваты настройки хостинга
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 579
Стаж: 14 лет 6 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение ***Blaze*** »

Татьяна5, да, видимо это настройки хостинга.
Такая же ошибка
Информация

No route found for "GET /test.html"
Написал в поддержку хостинга.
О результатах сообщу.

Всем огромное спасибо за помощь!
Мой сайт http://ublaze.ru/
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 579
Стаж: 14 лет 6 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение ***Blaze*** »

Помогла поддержка хостинга. Если у Вас два .htaccess - один для WordPress и другой для phpBB, то их содержимое, в корневой директории root, нужно объединить корректно в один .htaccess, а в директории root/forum удалить совсем .htaccess phpBB или его переименовать.

Однако, с удаленным root/forum.htaccess отказалась работать расширение Карта сайта для ботов (phpBB3 SEO Sitemap)

Появляется общая ошибка стиля WordPress (когда страница не найдена, у WordPress общая страница ошибки)
Error 404 - Not Found

В общем, ничего не найдено...

Но может быть, вы искали это?
Если вернуть root/forum.htaccess согласно требованиям http://www.phpbb-work.ru/sitemap-extension-t76.html только с таким содержимым

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

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
то карта http://мой_сайт.ru/forum/sitemap.xml открывается, но перестает работать миграция с seo url на дефолтные phpbb 3.1

Исправил так. Добавил в корневой .htaccess

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

#
# 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 ^forum/(.*)$ /forum/app.php [QSA,L]
root/forum/.htaccess удалил совсем.

В итоге, для форума, расположенного в папке forum, .htaccess в корне сайта должен иметь вид
(предоставил кусок содержимого .htaccess, не забудьте про RewriteEngine On и RewriteBase /)

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

#####################################################
# PHPBB SEO REWRITE RULES ALL MODES
#####################################################
# AUTHOR : dcz www.phpbb-seo.com
# STARTED : 01/2006
#################################
# FORUMS PAGES
###############
# FORUM INDEX
RewriteRule ^forum/forum\.html$ /forum/index.php [QSA,L,R=301]
# FORUM ALL MODES
RewriteRule ^forum/(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ /forum/viewforum.php?f=$2&start=$4 [QSA,L,R=301]
# TOPIC WITH VIRTUAL FOLDER ALL MODES
RewriteRule ^forum/(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum/viewtopic.php?t=$4&start=$6 [QSA,L,R=301]
# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^forum/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum/viewtopic.php?t=$3&start=$5 [QSA,L,R=301]
# PROFILES THROUGH USERNAME
RewriteRule ^forum/member/([^/]+)/?$ /forum/memberlist.php?mode=viewprofile&un=$1 [QSA,L,R=301]
# USER MESSAGES THROUGH USERNAME
RewriteRule ^forum/member/([^/]+)/(topics|posts)/?(page([0-9]+)\.html)?$ /forum/search.php?author=$1&sr=$2&start=$4 [QSA,L,R=301]
# GROUPS ALL MODES
RewriteRule ^forum/(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /forum/memberlist.php?mode=group&g=$2&start=$4 [QSA,L,R=301]
# POST
RewriteRule ^forum/post([0-9]+)\.html$ /forum/viewtopic.php?p=$1 [QSA,L,R=301]
# NEW POSTS
RewriteRule ^forum/newposts(-([0-9]+))?\.html$ /forum/search.php?search_id=newposts&start=$2&sr=topics [QSA,L,R=301]
# UNREAD POSTS
RewriteRule ^forum/unreadposts(-([0-9]+))?\.html$ /forum/search.php?search_id=unreadposts&start=$2 [QSA,L,R=301]
# THE TEAM
RewriteRule ^forum/the-team\.html$ /forum/memberlist.php?mode=team [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 ^forum/(.*)$ /forum/app.php [QSA,L]
Мой сайт http://ublaze.ru/
Аватара пользователя
trust_me
phpBB 1.0.0
Сообщения: 8
Стаж: 4 года 9 месяцев

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение trust_me »

Возник похожий вопрос, есть форум на 3.0 с SEO-ссылками, планирую мигрировать на 3.1 и вернуться к стандартному виду ссылок, т.к. будет слишком много конфликтов с другими модами, насколько я понимаю. Как правильно настроить редиректы, чтоб не потерять органический и прямой трафик (ссылки на темы с других сайтов)?

Сейчас ссылки такого вида:

Категория:

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

http://адрессфорума.ру/nazvanie-kategorii-f4.html
Форум:

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

http://адрессфорума.ру/nazvanie-foruma-f5.html
Тема:

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

http://адрессфорума.ру/nazvanie-temy-t1234.html
Содержание файла .htaccess:

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

#
# 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.
#
#<IfModule mod_rewrite.c>
#RewriteEngine on
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#</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>


# You may need to un-comment the following lines
# Options +FollowSymlinks
# To make sure that rewritten dir or file (/|.html) will not load dir.php in case it exist
# Options -MultiViews
# REMEBER YOU ONLY NEED TO STARD MOD REWRITE ONCE
RewriteEngine On
# 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]
# REWRITE BASE
RewriteBase /
# HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN
# RewriteCond %{HTTP_HOST} !^адрессфорума\.ру$ [NC]
# RewriteRule ^(.*)$ http://адрессфорума.ру/$1 [QSA,L,R=301]

# DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
#####################################################
# PHPBB SEO REWRITE RULES ALL MODES
#####################################################
# AUTHOR : dcz www.phpbb-seo.com
# STARTED : 01/2006
#################################
# FORUMS PAGES
###############
# FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
# RewriteRule ^forum\.html$ /index.php [QSA,L,NC]
# FORUM ALL MODES
RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ /viewforum.php?f=$2&start=$4 [QSA,L,NC]
# 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,NC]
# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,NC]
# PHPBB FILES ALL MODES
RewriteRule ^resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$ /download/file.php?id=$2&t=$1 [QSA,L,NC]
# PROFILES ALL MODES WITH ID
RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)\.html$ /memberlist.php?mode=viewprofile&u=$2 [QSA,L,NC]
# 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,NC]
# GROUPS ALL MODES
RewriteRule ^(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /memberlist.php?mode=group&g=$2&start=$4 [QSA,L,NC]
# POST
RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L,NC]
# ACTIVE TOPICS
RewriteRule ^active-topics(-([0-9]+))?\.html$ /search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,NC]
# UNANSWERED TOPICS
RewriteRule ^unanswered(-([0-9]+))?\.html$ /search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,NC]
# NEW POSTS
RewriteRule ^newposts(-([0-9]+))?\.html$ /search.php?search_id=newposts&start=$2&sr=topics [QSA,L,NC]
# UNREAD POSTS
RewriteRule ^unreadposts(-([0-9]+))?\.html$ /search.php?search_id=unreadposts&start=$2 [QSA,L,NC]
# THE TEAM
RewriteRule ^the-team\.html$ /memberlist.php?mode=leaders [QSA,L,NC]
# HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES

# FORUM WITHOUT ID & DELIM ALL MODES
# THESE FOUR LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9_-]+)(-([0-9]+))\.html$ /viewforum.php?forum_uri=$1&start=$3 [QSA,L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9_-]+)\.html$ /viewforum.php?forum_uri=$1 [QSA,L,NC]
# FIX RELATIVE PATHS : FILES
RewriteRule ^.+/(style\.php|ucp\.php|mcp\.php|faq\.php|download/file.php)$ /$1 [QSA,L,NC,R=301]
# FIX RELATIVE PATHS : IMAGES
RewriteRule ^.+/(styles/.*|images/.*)/$ /$1 [QSA,L,NC,R=301]
# END PHPBB PAGES
#####################################################
С настройками .htaccess не знаком совсем :( Подскажите, пожалуйста, как быть?

p.s. понимаю, что будет полная переиндексация, но не хотелось бы потерять хотя бы прямой трафик.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 15461
Стаж: 15 лет 2 месяца
Откуда: Красноярск
Благодарил (а): 418 раз
Поблагодарили: 1852 раза

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение rxu »

trust_me, схема одна и та же. Заменяется
[QSA,L,NC]
на
[QSA,L,R=301]
Изображение
Аватара пользователя
trust_me
phpBB 1.0.0
Сообщения: 8
Стаж: 4 года 9 месяцев

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение trust_me »

rxu, заменил все конструкции, получился такой файл:

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

#
# 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.
#
#<IfModule mod_rewrite.c>
#RewriteEngine on
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#</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>


# You may need to un-comment the following lines
# Options +FollowSymlinks
# To make sure that rewritten dir or file (/|.html) will not load dir.php in case it exist
# Options -MultiViews
# REMEBER YOU ONLY NEED TO STARD MOD REWRITE ONCE
RewriteEngine On
# 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]
# REWRITE BASE
RewriteBase /
# HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN
# RewriteCond %{HTTP_HOST} !^адресфорума\.ru$ [NC]
# RewriteRule ^(.*)$ http://адресфорума.ru/$1 [QSA,L,R=301]

# DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
#####################################################
# PHPBB SEO REWRITE RULES ALL MODES
#####################################################
# AUTHOR : dcz www.phpbb-seo.com
# STARTED : 01/2006
#################################
# FORUMS PAGES
###############
# 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?forum_uri=$1&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]
# HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES

# FORUM WITHOUT ID & DELIM ALL MODES
# THESE FOUR LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9_-]+)(-([0-9]+))\.html$ /viewforum.php?forum_uri=$1&start=$3 [QSA,L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9_-]+)\.html$ /viewforum.php?forum_uri=$1 [QSA,L,R=301]
# FIX RELATIVE PATHS : FILES
RewriteRule ^.+/(style\.php|ucp\.php|mcp\.php|faq\.php|download/file.php)$ /$1 [QSA,L,NC,R=301]
# FIX RELATIVE PATHS : IMAGES
RewriteRule ^.+/(styles/.*|images/.*)/$ /$1 [QSA,L,NC,R=301]
# END PHPBB PAGES
#####################################################
Теперь при обращении по адресу:

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

адресфорума.ру/nazvanie-temy-t1234.html
Переадресовывает на:

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

адресфорума.ру/viewtopic.php?forum_uri=nazvanie-temy&t=1234&start=
с ошибкой "Запрошенной темы не существует".

Подскажите, что я делаю не так?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 15461
Стаж: 15 лет 2 месяца
Откуда: Красноярск
Благодарил (а): 418 раз
Поблагодарили: 1852 раза

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение rxu »

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

адресфорума.ру/viewtopic.php?t=1234
А по такой ссылке что получаете?
Изображение
Аватара пользователя
trust_me
phpBB 1.0.0
Сообщения: 8
Стаж: 4 года 9 месяцев

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение trust_me »

rxu писал(а): А по такой ссылке что получаете?
Переадресации никакой не происходит, по такому адресу попадаю в правильную тему №1234.
Но если входить в ту же тему естественным способом (главная » категория » форум » тема), то ссылка выглядит таким образом:

адресфорума.ру/viewtopic.php?f=20&t=1234

где 20 — номер родительского форума, который, в свою очередь, доступен по адресу адресфорума.ру/viewforum.php?f=20
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4710
Стаж: 16 лет 6 месяцев
Откуда: Питер
Благодарил (а): 142 раза
Поблагодарили: 600 раз

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение Siava »

trust_me писал(а): Переадресовывает на:

Код: Выделить всё
адресфорума.ру/viewtopic.php?forum_uri=nazvanie-temy&t=1234&start=
А если вместо

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

# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,R=301]
сделать

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

# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)\.html$ /viewtopic.php?t=$3 [QSA,L,R=301]
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?t=$3&start=$5 [QSA,L,R=301]
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.5.x)
Аватара пользователя
trust_me
phpBB 1.0.0
Сообщения: 8
Стаж: 4 года 9 месяцев

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение trust_me »

rxu и Siava, большое спасибо, на первый взгляд всё работает. Буду двигаться дальше в вопросе миграции на 3.1, затем обновлю рабочий форум. Если всё пойдёт хорошо, то с меня результаты эксперимента, как пройдёт переиндексация и будут ли просадки по трафику :)
Аватара пользователя
trust_me
phpBB 1.0.0
Сообщения: 8
Стаж: 4 года 9 месяцев

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение trust_me »

Около недели, как мигрировал и начал переиндексацию. Страницы с новыми адресами по-немногу начали входить в индекс, но старые пока ещё остаются там же. По трафику просадок нет, всё стабильно.

Изображение
Аватара пользователя
wwwmaster
phpBB 1.4.3
Сообщения: 91
Стаж: 5 лет 6 месяцев
Благодарил (а): 10 раз
Поблагодарили: 10 раз
Забанен: Бессрочно

Re: Миграция с seo url на дефолтные phpbb 3.1

Сообщение wwwmaster »

Добрый день.
Переношу форум 3.1 с SEO на дефолт.
Поправил, но темы и разделы редиректит странно.
Из ссылки раздела /nash-forum.html получается /viewforum.php?forum_uri=nash-forum&start=

А тема, к примеру: /prostie-pravila-nashego-foruma-chitat-vsem-t26.html редиректит на подобную: /viewtopic.php?forum_uri=prostie-pravila-nashego-foruma-chitat-vsem&t=26&start=

Помогите исправить плиз.
thaccess оба файла приложил (htaccess_old - до, .htaccess - исправленный на дефолтные URLы).
htaccess.zip
(3.95 КБ) 189 скачиваний
Спасибо.
Перенесено из форума phpBB-пространство в форум FAQ 14.05.2019 12:08 модератором Sheer

Вернуться в «FAQ»