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

Спецсимволы в урл и .htaccess

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 5 лет 10 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Спецсимволы в урл и .htaccess

Сообщение Гриif »

Обнаружил ссылки на форум вида viewtopic.php%3Ft%3D777
И недоработано что-то, почему-то не соображает система перевести это в viewtopic.php?t=777, выдает 404ю тупо.
Подскажите, кто сталкивался, как .htaccess отредактировать, чтоб преобразовывало?
phpbb 3.2.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Спецсимволы в урл и .htaccess

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

Гриif писал(а): 04.06.2018 17:34Обнаружил
Где?

Отправлено спустя 1 минуту 1 секунду:
Гриif писал(а): 04.06.2018 17:34 почему-то не соображает система перевести это в viewtopic.php?t=777
В некоторых ссылках специально бывают спецсимволы, ничего переводить не должно
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 5 лет 10 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Спецсимволы в урл и .htaccess

Сообщение Гриif »

Ссылки ведут с других сайтов на мой в таком (%3F) формате. Или у них движок настроен так направлять, или в прошлом такие урлы работали - не суть, ситуация такова, как есть... Не хочется битую ссылку, да и пользователи теперь на 404 идут. Ссылки такие через метрику нашел.
phpbb 3.2.2
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Re: Спецсимволы в урл и .htaccess

Сообщение nissin »

Что-то вроде такого:

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

RewriteEngine On
RewriteRule "^/viewtopic.php%3Ft%3D([0-9]+)" "/viewtopic.php?t=$1" [R=301,L]
Если установлено RewriteBase, тогда:

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

RewriteEngine On
RewriteRule "^viewtopic.php%3Ft%3D([0-9]+)" "/viewtopic.php?t=$1" [R=301,L]
Всё повторяется. nurlan.info
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 5 лет 10 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Спецсимволы в урл и .htaccess

Сообщение Гриif »

nissin, не-а, вообще никакой реакции. (не могло же тут ничего закешировать?!..)
phpbb 3.2.2
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Re: Спецсимволы в урл и .htaccess

Сообщение nissin »

А у Вас точно апач стоит?
Если да, то попробовать поставить в начале файла (перед другими реврайтами).
Всё повторяется. nurlan.info
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 5 лет 10 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Спецсимволы в урл и .htaccess

Сообщение Гриif »

Точно. И мод_реврайт работает (проверил другим правилом). А ваше правило - нет. Ставил даже его в пустой .htaccess, чтоб ни с чем не могло конфликтовать - нет эффекта.

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

Not Found

The requested URL /viewtopic.php?t=100 was not found on this server.
Apache/2.2.22 (Debian) Server
"The requested URL /viewtopic.php?t=100", но при этом в адресной строке "/viewtopic.php%3Ft%3D100" так и остается.
phpbb 3.2.2
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Re: Спецсимволы в урл и .htaccess

Сообщение nissin »

Апач заумный товарищ малость. Подобрал нужный реврайт:

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

RewriteRule ^viewtopic\.php\?t=([0-9]+) /viewtopic.php?t=$1 [R=301,L]
Всё повторяется. nurlan.info
Гриif
phpBB 1.4.0
Сообщения: 37
Стаж: 5 лет 10 месяцев
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Спецсимволы в урл и .htaccess

Сообщение Гриif »

nissin, спасибо, работает! (признаться, не понял почему.. заменить ?t= на ?t= :o )

Если кому/когда пригодится, то вот по аналогии дописал еще:
для /viewforum.php%3Ff%3D777

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

RewriteRule ^viewforum\.php\?f=([0-9]+) /viewforum.php?f=$1 [R=301,L]
для /viewtopic.php%3Ff%3D77%26t%3D777

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

RewriteRule ^viewtopic\.php\?f=([0-9]+)&t=([0-9]+)$ /viewtopic.php?f=$1&t=$2 [R=301,L]
для /viewtopic.php%3Ff%3D77%26t%3D777%26start%3D15

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

RewriteRule ^viewtopic\.php\?f=([0-9]+)&t=([0-9]+)&start=([0-9]+) /viewtopic.php?f=$1&t=$2&start=$3 [R=301,L]
phpbb 3.2.2
Ответить

Вернуться в «phpBB-пространство»