I have never had virtual URL's work on my local machine. I have better luck with them when I upload the application to the web server.
the problem has benn solved lunckly.
I read some teachnique article from internet. It casued by URL Redirect. if you dont't config the IIS correctly, it will cause this problem: 404 page not found. the configure on IIS is like this: right click your website->property(r)-->virtual directory tag-->configure-->app mappings-->select the .aspx extension-->EDIT-->check the files if exist(don't selected) this is the key point, if you select the option"check the files if exist", then the problem will produce.
That is reason why the problem does not appear on my local server while appear on web hosting service, because the web hosting provider change this configure(default is not selected). if this option is selected, the page like:\category\1-manshoe.aspx will be check when it being redirect. but this file is not a physcial file. it is only vir url which is produce by regex. so IIS will just throw the 404 page not found. that is my analyse.
Deccks. Thanks you all the same.