Apache2 - перепишите набор указанных URL пути к одному URL

Дайте OMSA движение. Вы сможете контролировать свое состояние набега, а также другие параметры сервера, такие как ошибки памяти, температура, и т.д.

Aditionally при интеграции этого в каком-либо контрольном инструменте ВЫШИВАЛЬНОГО ШЕЛКА (Nagios, Хоббит...) существуют существующие плагины также.

1
задан 24 June 2012 в 21:25
2 ответа

Первое улучшение, которое вы можете сделать, это то, что вам вообще не нужны строки RewriteCond .

RewriteRule /seo_term1 / [NC,QSA]

Делает именно то, что сейчас делают ваши две строки.

] Второе улучшение, которое вы могли бы сделать, - это использовать RewriteMap . Сама карта перезаписи может быть обновлена ​​без перезапуска Apache.

RewriteMap seo txt:/etc/apache2/maps/seo.txt
RewriteRule (.*) ${seo:$1} [NC,QSA]

и seo.txt содержит

/seo_term1 /
/seo_term2 /

Примечание: я фактически не использовал RewriteMap в течение нескольких лет. Приведенная выше конфигурация может нуждаться в некоторой настройке из-за моей несовершенной памяти.

3
ответ дан 3 December 2019 в 17:54

Регулярное выражение должно быть вполне может справиться с этим.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/[^\?]+\?(?=.*(utm_source\=(google|msn|yahoo)))(?=.*(utm_medium\=(cpc|ppc)))(?=.*(utm_campaign\=[a-zA-Z0-9._-]+))
RewriteRule ^(.*)$ / [L,R=301]

Вышеупомянутое будет соответствовать только строке, содержащей все указанные параметры, независимо от ведущей (предварительной?) строки.

Изменить ...

Хорошо, вы немного изменил ваш вопрос. Но, к счастью, это еще проще.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/(seo_term1|seo_term2)(.*)?
RewriteRule ^(.*)$ / [L,R=301]

Просто измените / отредактируйте / добавьте значения по мере необходимости.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/[^\?]+\?(?=.*(utm_source\=(google|msn|yahoo)))(?=.*(utm_medium\=(cpc|ppc)))(?=.*(utm_campaign\=[a-zA-Z0-9._-]+))
RewriteRule ^(.*)$ / [L,R=301]

Вышеупомянутое соответствует только строке, содержащей все указанные параметры, независимо от ведущей (предварительной?) Строки.

Изменить ...

Хорошо, теперь вы немного изменили свой вопрос . Но, к счастью, это еще проще.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/(seo_term1|seo_term2)(.*)?
RewriteRule ^(.*)$ / [L,R=301]

Просто измените / отредактируйте / добавьте значения по мере необходимости.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/[^\?]+\?(?=.*(utm_source\=(google|msn|yahoo)))(?=.*(utm_medium\=(cpc|ppc)))(?=.*(utm_campaign\=[a-zA-Z0-9._-]+))
RewriteRule ^(.*)$ / [L,R=301]

Вышеупомянутое соответствует только строке, содержащей все указанные параметры, независимо от ведущей (предварительной?) Строки.

Изменить ...

Хорошо, теперь вы немного изменили свой вопрос . Но, к счастью, это еще проще.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/(seo_term1|seo_term2)(.*)?
RewriteRule ^(.*)$ / [L,R=301]

Просто измените / отредактируйте / добавьте значения по мере необходимости.

1
ответ дан 3 December 2019 в 17:54

Теги

Похожие вопросы