Pregunta

Me gustaría utilizar REST siguiente URL de un sitio web que estoy trabajando.

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

Puede alguien por favor dígame cómo lograr esto con .htaccess?

Oscar

¿Fue útil?

Solución

Aquí hay un .htaccess para capturar cualquier cosa, excepto cuando los archivos o directorios de conflictos y encamina 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 esto podemos usar index.php como nuestra solicitud de enrutador. En PHP simplemente recibirá la petición de algo así:

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

Dicho esto, el patrón de URL no es estándar y realmente me gustaría recomendar en contra porque proxies y navegadores URL codificar el símbolo de unión y signos iguales. Permítanme sugerir uno de los siguientes en su lugar (y también para su uso en minúsculas, ya que ayuda con la validación de la 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

Para ver lo que va a codificar en el camino de una dirección URL que acaba de Google y la mirada en la dirección URL de búsqueda de Google.

Espero que esto ayude.

-Mike

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top