#.htaccess #url #url-rewriting
#.htaccess #url #url-переписывание
Вопрос:
В настоящее время у меня есть это:
http://site.com/image/?x=100amp;y=70amp;image=https://site.com/image.jpg
Весь мой аудит yslow и Google говорит мне, что я не могу прокси-кэшировать URL-адреса с ‘?’ в нем. Итак, я изменяю его так, чтобы htaccess мог передавать параметры моему средству получения динамических изображений, но не может определить htaccess. Пока у меня есть:
http://site.com/thumb/https://site.com/image.jpg
Редактировать, забыл htaccess, который у меня есть до сих пор:
RewriteRule ^thumb/(.*)?$ image.php?a=image=$1amp;x=180y=70amp;cropratio=1:1amp;quality=70 [QSA,L]
Я предполагаю, что это b / c без вопросительного знака, браузер думает, что это два URL-адреса, объединенные вместе, и это не параметр.
Есть мысли?
Спасибо, Стив
Ответ №1:
Можете ли вы попробовать:
RewriteRule ^thumb/(.*)$ /image/?image=$1amp;x=180y=70amp;cropratio=1:1amp;quality=70 [QSA,L,NE,NC]
- NE: Этот флаг используется для того, чтобы не кодировать исходный текст
- NC: Для сравнения игнорируемых случаев
Комментарии:
1. Спасибо anubhava. Я делал это, и, похоже, это скорее проблема с косыми чертами PHP urlencoding как / вместо %2F. Я все еще пытаюсь найти хороший способ выполнить кодирование без кодирования, а затем выполнить замену строки.