2013-06-24 2 views
0

장바구니 장을 획기적으로 개선하기 위해 URL을 구성하는 방법을 완전히 바꿀 준비를하고 있습니다. Magento 1.7의 가치입니다.IIS7 URL 리디렉션을 사용하여 리디렉션

URL의 예는 다음과 같습니다 {domain}/item/sub-domain/sub-sub-domain-5-16-7-16-/8083770?plpver=98&categid=1027&prodid=8090&origin=keyword

{domain}/catalogsearch/result/?q=8083710

내 Web.config의에 리디렉션 것은 :

<?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
    <system.webServer> 
    <rewrite> 
    <rules> 
    <rule name="Magento Required" stopProcessing="false"> 
     <match url=".*" ignoreCase="false" />  <conditions> 
         <add input="{URL}" pattern="^/(media|skin|js)/" ignoreCase="false" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
    </conditions> <action type="Rewrite" url="index.php" /> 
    </rule> 
       <rule name="Item Redirect" stopProcessing="true"> 
        <match url="^item/([_\-a-zA-Z0-9]+)/([_\-a-zA-Z0-9]+)/([_\-a-zA-Z0-9]+)(\?.*)" /> 
        <action type="Redirect" url="catalogsearch/result/?q={R:3}" appendQueryString="true" redirectType="Permanent" /> 
        <conditions trackAllCaptures="true"> 
        </conditions> 
       </rule> 
    </rules> 
    </rewrite> 
     <httpProtocol allowKeepAlive="false" /> 
     <caching enabled="false" /> 
     <urlCompression doDynamicCompression="true" /> 
    </system.webServer> 
</configuration> 

지금은 비록, 리디렉션을 완전히 무시 보인다 IIS GUI에서 샘플 url은 정규식 테스트를 통과합니다. 리디렉션하는 더 좋은 방법이 있습니까? 또는 web.config에 문제가 있습니까?

답변

0

답은 here입니다. IIS가 쿼리 문자열로 처리하고 web.config의 "조건"섹션에서 캡처해야하므로 정규식에 물음표를 포함 할 수 없습니다.

그래서 난 그냥 정규식의 마지막을 지나고 (\?.*)했다, 그리고 추가 :

<conditions logicalGrouping="MatchAny" trackAllCaptures="true"> 
    <add input="{QUERY_STRING}" pattern=".*" /> 
</conditions> 
관련 문제