Domanda

Vorrei utilizzare seguente RESTful URL di un sito web su cui sto lavorando.

http://mysite.com/Products/category=bags&colours=black

Qualcuno può dirmi come raggiungere questo obiettivo con .htaccess?

Oscar

È stato utile?

Soluzione

Ecco un .htaccess di catturare qualsiasi cosa, tranne quando i file o le directory dei conflitti e instrada a 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>

Con che possiamo usare index.php come il nostro router richiesta. In PHP semplicemente otteniamo la richiesta di qualcosa in questo modo:

<?php
$url_path = $_SERVER['REQUEST_URI'];
// Parse your URL path here...

Detto questo, il vostro modello di URL è non standard e Consiglio vivamente contro perché i proxy e dei browser URL codificare la e commerciale e segni di uguale. Mi permetto di suggerire una delle seguenti invece (e anche per l'uso in minuscolo in quanto contribuisce con la convalida del 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

Per vedere cosa codificare nel percorso di un URL solo Google e sguardo URL di ricerca di Google.

Spero che questo aiuti.

-Mike

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top