Вы можете перенаправить навсегда все соответствующие URL-адреса, имеющие конечный %20
, на тот же URL-адрес без конечного %20
, используя следующее правило:
Если вы используете UrlDecoding Off
в вашем iirf.ini
используйте:
RedirectRule (.*)%20$ $1 [R=301]
В противном случае IIRF автоматически декодирует URL-адрес для вас, прежде чем пытаться применить правила.Поэтому вы можете использовать:
RedirectRule (.*)\s$ $1 [R=301]
Чтобы проверить это с помощью testdriver.exe
:
- Поместите указанное выше правило в файл с именем
iirf.ini
. Создайте файл с именем SampleUrls.txt
, содержащий несколько тестовых URL, например:
/ NO REWRITE
/%20 REDIRECT 301 /
/article NO REWRITE
/article%20 REDIRECT 301 /article
- Вызовите testdriver с помощью команды, аналогичной
%iirfpath%\testdriver.exe -d .
Обратите внимание: testdriver не декодирует URL-адреса.
Вы должны получить вывод, подобный следующему (я удалил некоторые новые строки):
TestDriver: linked with 'Ionic ISAPI Rewriting Filter (IIRF) 2.1.1.28 x64 RELEASE'.
TestDriver: The IIRF library was built on 'Aug 8 2011 02:26:29'
Processing URLs...(.\SampleUrls.txt)
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
NO REWRITE '/' ==> --
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
REDIRECT 301 '/%20' ==> '/'
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
NO REWRITE '/article' ==> --
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
REDIRECT 301 '/article%20' ==> '/article'
OK
0 Errors in 4 Total Trials