名称包含问号(?)时重写

时间:2019-02-18 17:09:55

标签: .htaccess mod-rewrite

我正在按照我的意愿进行重写。 它正在重写URL,如下所示:

https://db.ygoprodeck.com/card/?search=kuriboh

到以下内容:

https://db.ygoprodeck.com/card/kuriboh/

我还有一个额外的重写来处理名称中的“ /”,例如:

https://db.ygoprodeck.com/card/D/D/D%20Destiny%20King%20Zero%20Laplace/

我的htaccess如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?card/(.*?)/?$ /card/?search=$1 [L]

RewriteCond %{THE_REQUEST} \s/card(?:\.php)?/?\?search=([^\&\s]+) [NC]
RewriteRule ^ /card/%1? [L,R=301,NE]

现在我刚发现一个问题,当一个?是我商品的实际名称,只有?之前的所有内容?被采取。

https://db.ygoprodeck.com/card/Danger!?%20Tsuchinoko?

被读取为:

https://db.ygoprodeck.com/card/Danger!

我仍在尝试学习重写,因此我不确定如何完成此任务。一个解释将不胜感激。

0 个答案:

没有答案
相关问题