Voici un .htaccess pour capturer quoi que ce soit, sauf lorsque des fichiers ou des répertoires conflit et il achemine à /index.php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Avec que nous pouvons utiliser index.php comme notre demande routeur. En PHP, nous obtenons simplement quelque chose de demande comme ceci:
<?php
$url_path = $_SERVER['REQUEST_URI'];
// Parse your URL path here...
Cela dit, votre modèle d'URL est non standard et je recommande vraiment contre parce que les procurations et les navigateurs URL encode l'esperluette et le signe égal. Permettez-moi de suggérer une des options suivantes au lieu (et aussi d'utiliser des minuscules car il aide à la validation de l'URL):
http://example.com/products/categories/bags/colours/black
http://example.com/products/category_bags/colours_black
http://example.com/products?category=bags&colours=black
http://example.com/products/categories/bags?colours=black
http://example.com/products/bags?colours=black
Pour voir ce qui va encoder dans le chemin d'une URL juste Google et regarder la recherche de Google URL
Espérons que cela aide.
-Mike