RewriteRule, как включить сущности? - PullRequest
0 голосов
/ 05 ноября 2010

Я пытаюсь очистить URL для скрипта поиска моего блога, используя RewriteRule в .htaccess

Чистый URL для поиска: (xxx = имя тега, например, apple)

http://myblog.com/news/xxx/

Обычный поискПуть к скрипту URL:

http://myblog.com/scripts/search.cgi?blog_id=4&tag=xxx&limit=10 [L]

.htaccess

RewriteRule ^([^/]*)/$ /scripts/search.cgi?blog_id=4&tag=$1&limit=10 [L]

Это работает для большинства слов, кроме случаев, когда в слове есть '&'.При вводе в качестве URL-адреса «&» преобразуется как сущность «% 26», но когда он вводится в браузер как http://myblog.com/news/D%26G/, мой .htaccess распознает только «D» и пропускает дальше.

Как включить«% 26» в моем RewriteRule?

Кстати, я использую Movable Type 5.

1 Ответ

1 голос
/ 06 ноября 2010

Попробуйте использовать флаг B , чтобы экранировать значения обратных ссылок:

RewriteRule ^([^/]*)/$ /scripts/search.cgi?blog_id=4&tag=$1&limit=10 [L,B]
...