Удалось ли кому-то выполнить отрицательное регулярное выражение (или его часть) с помощью Squirm?
Я пробовал использовать негативный прогноз и регулярные выражения, но Squirm 1.26 не понимает их.
Я просто хочу:
* Если URL-адрес начинается с «http: //» и содержит «учетную запись», перепишите / перенаправьте на 301: https: //
* Если URL-адрес начинается с «https: //» и НЕ содержит «account», затем перепишите / перенаправьте на 301: http: //
Пока что я делаю это, используя 2 строки perl, но перенаправители извилистого типа занимают меньше памяти
Благодаря Крису Футу, владельцу Squirm, у меня все получилось с его уловкой. Раньше мне не приходило в голову, что squirm остановит перезапись после совпадения с шаблоном
regexi ^(https:\/\/.*\/account.*)$ \1 account
regexi ^http:\/\/(.*\/account.*)$ 301:https://\1 account
regexi ^https:\/\/(.*)$ 301:http://\1 https
.
Крис объяснил мне, как поступать в этой ситуации:
То, что я сделал ранее, чтобы обойти общее универсальное правило перезаписи, - это разместить правило, соответствующее тому, что вы не хотите перенаправлять заранее, просто воспроизводя исходный URL без перенаправления 301. например.:
regexi (some_pattern) \1 # let through URL unwritten
regexi (http://mydomain/all-to-one-page\.html) \1 # allow \
direct access to redirect page in the rule below.
regexi .* 301:http://mydomain/all-to-one-page.html # all \
other requests get redirected to a single page.