2010-08-13 21 views

Répondre

6

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