Apache2 объединяет RewriteRules - PullRequest
       8

Apache2 объединяет RewriteRules

0 голосов
/ 08 апреля 2019

У меня есть около ста RewriteRule с в моем .htaccess, таких как следующие:

RewriteRule ^cars-and-([%a-zA-Z0-9_-]+)/$ https://example.com/cars-and-$1 [R=301,L]
RewriteRule ^cars-and-([%a-zA-Z0-9_-]+)/0[/]{0,1}$ https://example.com/cars-and-$1 [R=301,L]
RewriteRule ^cars-and-([%a-zA-Z0-9_-]+)/([0-9]+)$ /pathto/search.php?city=$1&page=$2 [L]
RewriteRule ^cars-and-([%a-zA-Z0-9_-]+)$ /pathto/search.php?city=$1&page=0 [L]

Теперь я хочу добавить поддержку страниц AMP.Простое добавление конца .amp к URL должно отобразить версию AMP страницы.

Я мог бы создать 100 дополнительных RewriteRule s, чтобы покрыть все эти случаи с окончанием .amp, но мне интересно,есть более простой способ продолжить?

Есть ли способ добавить один RewriteRule при обнаружении .amp, который добавляет параметр amp=1 и затем возвращается к существующим перезаписям (без удаления amp=1параметр)?

1 Ответ

1 голос
/ 09 апреля 2019

Вы можете попробовать что-то подобное в дополнение к существующим правилам:

RewriteRule (.+)(\.amp)$ $1?amp=1

Затем добавьте флаг QSA к существующим.

Примечаниечто вы должны избегать флага [L] в этом новом правиле, чтобы оно проходило через все остальные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...