У меня есть переписать на месте, который делает то, что я хочу.Он переписывает 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!
Я все еще пытаюсь научиться переписывать, поэтому я не уверен, как это сделать.Объяснение будет очень цениться.