нужно больше информации с Helicon Исапи и правилом регулярных выражений - PullRequest
1 голос
/ 05 октября 2011

Я работаю над правилом геликона и пробовал различные комбинации, но они не работали

Я хочу разрешить следующий URL,

Это может быть

www.test.com/myownpages/

или

www.test.com/myownpages
www.test.com/myownpages/?value1=test2&value2=test2

должно быть разрешено до

$1/test.aspx  [NC]

Если кто-то дает что-то после моих страниц, это не должно работать

www.test.com/myownpages/test (This shouldn't work)

Пока пробовал ниже

RewriteRule ^(.*)(\/\myownpages\/)(.*)(\?)?(.+)?$ $1/test.aspx [NC] 

Любая помощь будет оценена

Спасибо

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Я не очень знаком с этими правилами переписывания, но, возможно, я могу помочь с регулярным выражением. Пока я читаю, вы хотите сопоставить любую строку, заканчивающуюся на "/ myownpages", "/ myownpages /" или "/ myownpages /? Any", и захватить часть до этого. Я бы использовал

^(.*)/myownpages(/([?].+)?)?$

чтобы получить это. См. Это в действии на RegExr. Если вам нужно избежать косой черты, оно становится.

^(.*)\/myownpages(\/([?].+)?)?$

Обратите внимание, что это не сохранит значения в строке запроса; www.test.com/myownpages/?value1=test2&value2=test2 будет перезаписано на www.test.com/test.aspx.

0 голосов
/ 05 октября 2011

Если вы хотите переписать (НЕ перенаправить) из / myownpages -> /myownpages/test.aspx, попробуйте использовать:

RewriteEngine on
RewriteBase /

RewriteRule myownpages/?$ /myownpages/test.aspx [NC,QSA,L]

QSA-flag автоматически добавляет строку запроса к исходному пути.

...