2012-01-05 2 views
0

URL 재 작성을 사용하려면이 URL과 일치하는 정규 표현식이 필요합니다. OpenCart URL 형식과 일치하는 정규 표현식

http://www.somewhere.com/index.php?route=common/home

은 OpenCart 웹 사이트입니다.

업데이트 : IIS7에서 URL 재 작성을 수행하는 정규 표현식을 사용하려고

. URL의 첫 번째 부분은 정확한 도메인 이름 일치를 필요로하지 않는다 그러나 나는

http://www.somewhere.com/common/home

+0

이 표현식은 초기 URL과 일치하지 않습니다. –

답변

0

당신이하는이 (protip을하고있는 언어를 지정하지 않았습니다를 다음과 같이이 결과 URL을 얻을 필요 : 모든 정규 표현식 구현은 동일한 규칙이) 그래서 나는 파이썬에서 해결 해요 :

>>> import re 
>>> pattern = '([^/]+)//([^/]+)/index\.php\?route=([^ ]+)' 
>>> repl = '\\1//\\2/\\3' 
>>> url = 'http://www.somewhere.com/index.php?route=common/home' 
>>> re.sub(pattern, repl, url) 
'http://www.somewhere.com/common/home' 
+0

사용하고 있습니다. IIS7 +에서 URL 재 작성을 수행합니다. http://www.iis.net/download/urlrewrite –

+0

ok 나는 IIS를 사용하지는 않지만 이것에 따라 : http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for- the-url-rewrite-module/이전 패턴은 작동하지만'{R : 1} // {R : 2}/{R : 3} '을 대체로 사용하십시오 –

+0

예 정규 표현식이 작동하고 위의 것을 사용하고 있습니다 URL을 재건 패턴, 그러나 나는 일치를 얻을 수 없습니다. 나는 다시 쓰는 모듈로 무언가를 놓쳐 버려야 만한다 –

0

는 URL 재 작성 도메인과 초기 후 URL을 가져옵니다/그리고 그것은을 사용하여 GET을 통해을 index.php로 전달 경로 매개 변수이므로

http://www.yourdomain.com/common/home 

는 _route_ 사용하도록 올바른 페이지/경로를 작동 제어기를 재 기입하는 URL에 사용되는

http://www.yourdomain.com/index.php?_route_=common/home 

된다. (URL을 생성하는) 과정을 되돌리려면 설정 페이지에서 URL 재 작성을 활성화하면됩니다.

즉, URL 재 작성은 기본적으로 제품, 카테고리, 제조업체 및 정보 페이지에서만 작동합니다. 당신은 common/home 경로에서 그렇게 할 수 없을 것입니다. 그러나 거기에 모듈이 있습니다, 심지어는 내 Uber SEO 모듈과 같은 URL을 사용자 정의 할 수 있습니다. 기본 URL 이상으로 변경됩니다.

+0

Jay에게 감사드립니다. 제품, 카테고리, 제조업체 및 정보 페이지가 아닌 URL을 다시 작성한다고 말하면서 내가 원하는 것을 만집니다. 이것은 전체 사이트가 SEO 친숙한 URL을 사용하기를 원하기 때문에 내가 찾고있는 것입니다. –

+0

직접적인 링크를 제공해주십시오. Uber SEO module Jay. ** 업데이트 ** [link] (http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3550&filter_search=seo%20url&sort=e.date_modified&order=DESC). 이 모듈은 Windows 및 IIS7에서 작동합니까? –

+0

VQMOD 요구 사항에 대해 걱정했습니다. 제 질문에 대답하기 위해 Windows에서 작동하지 않는 이유가없는 것 같습니다. 이 구성 요소를 시험해보고 트릭을 수행하기를 바랍니다. 나는 아직도 재 작성 규칙이 작동하지 않는 이유에 대해 의아해하고 있습니다. –

관련 문제