Условие перезаписи в .htaccess не работает

#.htaccess #url #url-rewriting #pattern-matching #conditional-statements

#.htaccess #url #url-перезапись #сопоставление с шаблоном #условные операторы

Вопрос:

Я пытался заставить условие перезаписи работать, но у него его просто нет (оно вообще не перенаправляет, поэтому я считаю, что оно не соответствует условию). Это пример динамического URL-адреса, который я пытаюсь перенаправить:

http://mysite.com/cgi-bin/sh000001.pl?REFPAGE=FT10

Для:

http://mysite.com/siteref/FT10/

и это сценарий:

 RewriteBase /
RewriteCond %{QUERY_STRING} ^REFPAGE=(.*)$
RewriteRule ^cgi-bin/sh000001.pl$ siteref/%1/ [L,R=301]
  

(У меня включен RewriteEngine)

Спасибо

Ответ №1:

Я думаю, что RewriteCond работает, но проблема может заключаться в том, что у вас есть /cgi-bin/ scriptaliased, и возможно, что mod_alias разрешает запрос до того, как он попадет в mod_rewrite . Вы можете попробовать удалить свой ScriptAlias из /cgi-bin/ .