RewriteRule et obtenir 1,2 ou 3 valeurs avec php

J’utilise .htaccess + php $_GET Je veux d’abord $_GET à un lien comme celui-ci Browse/link puis Browse/link/season puis Browse/link/season/episode mais j’ai un problème avec .htaccess si je ne le fais pas aller au dernier lien son ne fonctionne pas.

Comment est-il possible de faire en sorte que .htaccess me permette de le faire si je supprime &episode=$3 et va sur le lien Parcourir / lien / cela fonctionnera.

la saison sera vide, mais comment puis-je faire avec &episode=$3 ?

.htaccess Code:

 RewriteBase / RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^Browse/(.*)/(.*)/(.*)$ Browse.php?link=$1&season=$2&episode=$3 

simple $ _GET php:

 $getlink = $_GET["link"]; $getseason = $_GET["season"]; $gerepisode = $_GET["episode"]; 

Je suppose que vous n’avez pas de dossier Browse , donc je laisse de côté les deux vérifications de condition. Ils ne font que ralentir les choses.

Ensuite, vous pouvez simplement utiliser 3 règles et [^/] dans le regex qui correspond à tout sauf à une barre oblique.

 RewriteRule ^Browse/([^/]+)/?$ Browse.php?link=$1 [L] RewriteRule ^Browse/([^/]+)/([^/]+)/?$ Browse.php?link=$1&season=$2 [L] RewriteRule ^Browse/([^/]+)/([^/]+)/([^/]+)/?$ Browse.php?link=$1&season=$2&episode=$3 [L]