我正在按照我的意愿进行重写。 它正在重写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!
我仍在尝试学习重写,因此我不确定如何完成此任务。一个解释将不胜感激。