consulta de parámetros múltiples REST URL con .htaccess
-
28-09-2019 - |
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
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