I've researched this problem but still I have got no idea on how to fix it.
So, I worked on creating a proper menu structure for my products and by doing so, I have made categories with the intention of linking them up to the url taken from my layered navigation, let me try and explain:
I created a category called: Cases & Accessories --> Computer Cases --> Full Tower ('Full tower' being the type of products, filtered out)
I get the required URL by using my layered navigation, filtering the type of computer case which leaves me a URL of: XXX/cases-accessories/computer-cases.html?i_form_factor_771_1=6967 where i realised i cannot use special characters in the URL key inside catalog --> manage categories, then I start to create a custom url rewrite
The setup of the custom URL rewrite works perfectly, so I delete the system generated rewrite but when i reindex the catalog url writes, it generates a new system rewrite with a higher ID so uses that over the custom one with now a lower ID.
I tried another option which was to edit the system generated one, which only allows me to change the request path, I do this then reindex but again, the default request path is back on.
You see, the ID for the custom is currently higher but the front end is still showing the system url rewrite. For me to reflect the custom rewrite, i would have to delete the system one.
This seemed to work, so i now need to change the 1st system rewrite from cases-accessories/computer-cases/full-tower-cases.html to fulltower.html, i try doing this inside the system rewrite, but after a reindex it changes back to cases-accessories/computer-cases/full-tower-cases.html. Any ideas? I created a 3rd url write with the target path of "catalog/category/view/id/1234" but it didnt work.