如何修复编码url的htaccess重写


How to fix htaccess rewriting for an encoded url

嗨,我遇到了匹配特殊字符和"+"符号的问题。例如:

http://awesome-gallery.engagefb.com/gallery/video/Tv+Shows

与以下正则表达式匹配:

RewriteRule ^gallery/(.*)/(.*)$ index.php?media=$1&gallery-name=$2

但是当我在php中回显"gallery name"时,它返回的是"tvshows"而不是"tv+shows"

我想运行urldecode(画廊名称)并返回"电视节目"

我在正则表达式中做错了什么?

我得到Tv Shows,就像你喜欢一样

.htaccess

RewriteEngine On
RewriteRule ^gallery/(.*)/(.*)$ index.php?media=$1&gallery-name=$2

index.php

<?php
var_dump($_REQUEST);

网址:http://localhost/gallery/video/Tv+Shows

显示器:

array (size=2)
  'media' => string 'video' (length=5)
  'gallery-name' => string 'Tv Shows' (length=8)