1. Es un problema de expresiones regulares, no de código php
2. Igualmente y aunque el tema es de configuración de Apache, no es código php
3. Las expresiones regulares no son juguetes, si no saben lo que haces no las uses hasta comprender lo que hacen
En teoría lo que buscas es que acepten los caracteres % y -, por lo tanto, sumado a lo que tenías inicialmente y funcionaba.
Ahora te toca a ti ver cómo colocar eso para que funcione, no dejes de estudiar.