Более двух переменных в. htaccess


это первый раз, когда я должен работать с .htacces, чтобы сделать дружественные URL-адреса. С помощью следующего кода я смог сделать этот URL http://localhost/trafico/index.php?c=tarea преобразуется в http://localhost/trafico/tarea

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9/]+)$ index.php?c=$1 [L]

но в настоящее время я не смог заставить его работать для второй и третьей переменных. Например, с этим URL http://localhost/trafico/index.php?c=tarea&a=Crud&id=21 . Как вы можете сделать?

Author: Carlos Cespedes, 2018-10-18

1 answers

Это просто, следуя тому же примеру, который вы уже использовали, с шаблоном для каждой переменной (отрегулируйте наличие нижнего регистра, верхнего регистра и чисел в соответствии с вашими потребностями). Например:

RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/([a-z0-9-]+)$ index.php?c=$1&a=$2&id=$3 [L]

Если у вас есть 1, 2 или 3 переменные в ваших URL-адресах,вы должны указать все случаи. Это было бы примерно так:

RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/([a-z0-9-]+)$ index.php?c=$1&a=$2&id=$3 [L]
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)$ index.php?c=$1&a=$2 [L]
RewriteRule ^([a-z0-9-]+)$ index.php?c=$1 [L]

Соответствовал бы а:

Http://localhost/trafico/tarea/subtarea/caso

Http://localhost/trafico/tarea/subtarea

Http://localhost/trafico/tarea

 3
Author: Carmen, 2018-10-18 15:52:26