2012-05-30 3 views
0

im пытается написать регулярное выражение для правила перезаписи мод, запущенного на сервере Windows. до сих пор Ive пыталсярегулярное выражение для mod rewrite

RewriteRule ^/hcp/(.*)/(.*)$ /delete.aspx?page=$2&root=$1 [NC,L,I] 
RewriteRule ^/hcp/(.*)$ /delete.aspx?page=$1&root=$1 [NC,L,I] 

и

RewriteRule ^/hcp/([a-z]|[-])/([a-z]|[-])$ /delete.aspx?page=$2&root=$1 [NC,L,I] 
RewriteRule ^/hcp/([a-z]|[-])$ /delete.aspx?page=$1&root=$1 [NC,L,I] 

и просто для хорошей мерой Айв просто попытался это

RewriteRule ^/hcp/(([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /delete.aspx?page=$2&root=$1 [NC,L,I] 
RewriteRule ^/hcp/([a-zA-Z0-9_-]+)$ /delete.aspx?page=$1&root=$1 [NC,L,I] 

им пытаются получить его соответствия либо

www.site.com/hcp/parameter 

и

www.site.com/hcp/param1/param2 

по какой-то причине он держит положить все в $ 1, и ничто в $ 2 или в случае второй линии второго $ 1 является пустым, например

root = page = param1/param2 

благодаря

ответ

0

Попробуйте это:

RewriteRule ^/hcp/([^/]+)/([^/]+)$ /delete.aspx?page=$2&root=$1 [NC,L,I] 
RewriteRule ^/hcp/([^/]+)$ /delete.aspx?page=$1&root=$1 [NC,L,I] 

Нужно ли использовать флаг B? Я не знаю, как это похоже на переписку с Apache.

+0

блестящий благодарение работает отлично это также работает RewriteRule ^/hcp /(.*)/(.*)$ /delete.aspx\?root=$1&page=$2 [NC, L] –

Смежные вопросы