2014-01-22 3 views
0

У меня есть устаревший веб-сайт, на котором есть 301 переадресация на него. Чтобы упростить мою жизнь, я переключил их на выполнение переадресации вручную 301 в IIS с использованием модуля перезаписи url и карты перезаписи, которую я могу создать из базы данных.URL-адрес Перезапись IIS 7 Querystring Issue

К сожалению, я сейчас попал в ловушку, в связи с чем некоторые из их URL-адресов приходят с querystrings (из adwords Google), и они неизменно 404 (потому что они не соответствуют URL-адресам на моей карте перезаписи).

Есть ли способ обойти это, или мне нужно вернуться к ручному запуску 301-го?

Для записи: мы используем IIS7

образцы Код:

url: http://mydomain.com/widgets/?gclid=[google code] 

Rewrite Rule:

<rule name="Rewrite rule1 for News301Redirects" stopProcessing="false"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{News301Redirects:{REQUEST_URI}}" pattern="(.+)" /> 
    </conditions> 
    <action type="Redirect" redirectType="Permanent" url="{C:1}" appendQueryString="false" /> 
</rule> 

Карта Линия:

<add key="/widgets/" value="/widgets.asp" /> 

ответ

1

Ну, ответ оказался удручающе mple - просто абсолютная свинья, чтобы ее найти.

Вместо использования REQUEST_URI (который получает весь запрошенный URL-адрес, включая запрос), я переключился на использование URL-адреса (который просто получает URL-адрес без запроса), и это, похоже, полностью разрешило мои проблемы.