Je souhaite obtenir cette URL :
example.com/scooter-details/1/vespa-sprint
Mais l'URL que j'ai obtenue est :
example.com/scooter-details.php?scooter_id=1&scooter_brand=vespasprint&scooter_model=
scooter_model "sprint" est localisé scooter_brand
查询中,通常必须是scooter_brand=vespa&scooter_model=sprint
. J'espère que vous pourrez m'aider à résoudre ce problème
htaccess
codeOptions +FollowSymLinks -MultiViews RewriteEngine On # SEO FRIENDLY URL # Redirect "/scooter-details.php?service_id=<num>" to "/scooter-details/<num>" RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{QUERY_STRING} ^scooter_id=(\d+)&scooter_brand=([^/.]+)&scooter_model=([^/.]+)$ RewriteRule ^(scooter-details)\.php$ //%1/%2-%3? [QSD,L,R=301,N] # Rewrite "/scooter-details/<num>" back to "scooter-details.php?service_id=<num>" RewriteRule ^(scooter-details)/(\d+)/([^/]+)$ .php?scooter_id=&scooter_brand=&scooter_model= [L]
Si vous souhaitez capturer des éléments de la chaîne de requête (c'est-à-dire déjà codés en URL) et les utiliser pour créer un chemin d'URL. Sinon, vous vous retrouverez avec la partie codée en double URL du chemin d'URL résultant - voilà à quoi cela ressemble.
%2520
是双重 URL 编码的空格。 IE。您正在捕获的查询字符串中似乎有%20
(c'est-à-dire espace).Cependant, la règle que vous avez publiée semble n'avoir rien à voir avec l'exemple d'URL donné ?