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

Спецсимволы в урл и .htaccess
Обнаружил ссылки на форум вида viewtopic.php%3Ft%3D777
И недоработано что-то, почему-то не соображает система перевести это в viewtopic.php?t=777, выдает 404ю тупо.
Подскажите, кто сталкивался, как .htaccess отредактировать, чтоб преобразовывало?
И недоработано что-то, почему-то не соображает система перевести это в viewtopic.php?t=777, выдает 404ю тупо.
Подскажите, кто сталкивался, как .htaccess отредактировать, чтоб преобразовывало?
phpbb 3.2.2
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Спецсимволы в урл и .htaccess
Где?
Отправлено спустя 1 минуту 1 секунду:
В некоторых ссылках специально бывают спецсимволы, ничего переводить не должноГриif писал(а): 04.06.2018 17:34 почему-то не соображает система перевести это в viewtopic.php?t=777
Re: Спецсимволы в урл и .htaccess
Ссылки ведут с других сайтов на мой в таком (%3F) формате. Или у них движок настроен так направлять, или в прошлом такие урлы работали - не суть, ситуация такова, как есть... Не хочется битую ссылку, да и пользователи теперь на 404 идут. Ссылки такие через метрику нашел.
phpbb 3.2.2
-
- phpBB 3.0.4
- Сообщения: 2215
- Стаж: 17 лет 4 месяца
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 117 раз
Re: Спецсимволы в урл и .htaccess
Что-то вроде такого:
Если установлено RewriteBase, тогда:
Код: Выделить всё
RewriteEngine On
RewriteRule "^/viewtopic.php%3Ft%3D([0-9]+)" "/viewtopic.php?t=$1" [R=301,L]
Код: Выделить всё
RewriteEngine On
RewriteRule "^viewtopic.php%3Ft%3D([0-9]+)" "/viewtopic.php?t=$1" [R=301,L]
Всё повторяется. nurlan.info
Re: Спецсимволы в урл и .htaccess
nissin, не-а, вообще никакой реакции. (не могло же тут ничего закешировать?!..)
phpbb 3.2.2
-
- phpBB 3.0.4
- Сообщения: 2215
- Стаж: 17 лет 4 месяца
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 117 раз
Re: Спецсимволы в урл и .htaccess
А у Вас точно апач стоит?
Если да, то попробовать поставить в начале файла (перед другими реврайтами).
Если да, то попробовать поставить в начале файла (перед другими реврайтами).
Всё повторяется. nurlan.info
Re: Спецсимволы в урл и .htaccess
Точно. И мод_реврайт работает (проверил другим правилом). А ваше правило - нет. Ставил даже его в пустой .htaccess, чтоб ни с чем не могло конфликтовать - нет эффекта.
"The requested URL /viewtopic.php?t=100", но при этом в адресной строке "/viewtopic.php%3Ft%3D100" так и остается.
Код: Выделить всё
Not Found
The requested URL /viewtopic.php?t=100 was not found on this server.
Apache/2.2.22 (Debian) Server
phpbb 3.2.2
-
- phpBB 3.0.4
- Сообщения: 2215
- Стаж: 17 лет 4 месяца
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 117 раз
Re: Спецсимволы в урл и .htaccess
Апач заумный товарищ малость. Подобрал нужный реврайт:
Код: Выделить всё
RewriteRule ^viewtopic\.php\?t=([0-9]+) /viewtopic.php?t=$1 [R=301,L]
Всё повторяется. nurlan.info
Re: Спецсимволы в урл и .htaccess
nissin, спасибо, работает! (признаться, не понял почему.. заменить ?t= на ?t=
)
Если кому/когда пригодится, то вот по аналогии дописал еще:
для /viewforum.php%3Ff%3D777
для /viewtopic.php%3Ff%3D77%26t%3D777
для /viewtopic.php%3Ff%3D77%26t%3D777%26start%3D15

Если кому/когда пригодится, то вот по аналогии дописал еще:
для /viewforum.php%3Ff%3D777
Код: Выделить всё
RewriteRule ^viewforum\.php\?f=([0-9]+) /viewforum.php?f=$1 [R=301,L]
Код: Выделить всё
RewriteRule ^viewtopic\.php\?f=([0-9]+)&t=([0-9]+)$ /viewtopic.php?f=$1&t=$2 [R=301,L]
Код: Выделить всё
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