Réécrire l'URL avec .htaccess pour plusieurs paramètres
Cette question est peut-être un doublon. Mais je n'ai trouvé aucune solution a fonctionné pour moi.
Je veux réécriture d'URL, où j'en ai un et deux au niveau des paramètres. premier paramètre est p
et la deuxième est sp
www.domain.com/home
doit pointer vers www.domain.com/index.php?p=home
et
www.domain.com/projects/99
doit pointer vers www.domain.com/index.php?p=projects&sp=99
Comment puis-je faire dans .htaccess?
Actuellement Mon htaccess est comme découlant,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1
RewriteRule ^([^/]*)/([^/]*)$ index.php?p=$1&sp=$2 [L]
Le problème avec cette htaccess est qu'il a correctement les points d'un niveau de l'url. c'est à dire., www.domain.com/home. Mais pas les deux au niveau de l'url. c'est à dire. www.domain.com/projects/99
source d'informationauteur Firnas
Vous devez vous connecter pour publier un commentaire.
Vous avez à traiter les règles séparément. Toutes les Conditions de règles qui précèdent s'appliquent uniquement à une règle unique. Suivant les règles ne sont pas touchés par cette règle. Vous avez essayé de "chaîne" de deux règles. La deuxième règle n'aurait jamais pu appariés, depuis le premier était un fourre-tout qui a changé la syntaxe. En dehors de cela, vous devez vous assurer que la première règle de ne pas attraper indésirables demandes. Penser aussi que si vous souhaitez utiliser le
*
ou la+
opérateur dans les regexes. Je vous suggère d'utiliser le+
de l'opérateur, de sorte que vous avez un message d'erreur clair lorsque des valeurs vides sont priés d'une "page" ou un "sous-page'.Donc cela pourrait se rapprocher de ce que vous êtes à la recherche pour: