处理网址锐利

I am trying to pass a name variable via this routing pattern.

<controller:product>/<name:[^\/]+> => 'product/view'

My aim is to get the $name in my actionView of the product controller, it works most of the times, but what I've discovered is it fails to pass the name if it contains a sharp (#) , for example sending a request

 /product/test%20#something

Will fail, as far as I understood it is trying to find actionTest instead.

It might be a solution to set the default action of the controller to go to the view, but I want a better solution for this. I am sure there is a yii way to solve this.

Also another solution is to urlencode($productName), but it makes the URL look more ugly.