Regex 与OpenCart url格式匹配的正则表达式

Regex 与OpenCart url格式匹配的正则表达式,regex,expression,opencart,Regex,Expression,Opencart,我需要一个正则表达式来匹配此URL以启用URL重写 这是一个OpenCart网站 更新: 我试图使用正则表达式在IIS7上执行URL重写。URL的第一部分不需要精确的域名匹配,但我需要得到一个结果URL,如下所示 您没有指定执行此protip的语言:不是所有regexp实现都有相同的规则,所以我用python解决它: >>> import re >>> pattern = '([^/]+)//([^/]+)/index\.php\?route=([^ ]+)'

我需要一个正则表达式来匹配此URL以启用URL重写

这是一个OpenCart网站

更新:

我试图使用正则表达式在IIS7上执行URL重写。URL的第一部分不需要精确的域名匹配,但我需要得到一个结果URL,如下所示


您没有指定执行此protip的语言:不是所有regexp实现都有相同的规则,所以我用python解决它:

>>> 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'

url重写会在域和初始值/之后获取url,并使用route参数通过GET将其传递给index.php,因此

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

http://www.yourdomain.com/index.php?_route_=common/home
url重写控制器使用_route_uuu来计算要使用的正确页面/路由。请注意,要反向创建url,只需在设置页面上启用url重写即可


也就是说,默认情况下,url重写只适用于产品、类别、制造商和信息页面,因此您无法对公共/主路径进行重写。然而,有一些模块可以做到这一点,甚至允许您进一步定制URL,例如我的Uber SEO模块,尽管这不仅仅改变了基本URL

此表达式与初始URL不匹配,我正在使用它在IIS7+中执行URL重写。好的,我不使用IIS,但是根据这个:前面的模式应该可以工作,但是使用{R:1}/{R:2}/{R:3}作为替换。是的,您的正则表达式可以工作,我正在使用上面的url重建模式,但是我似乎无法获得匹配。我一定错过了重写模块的一些东西,我会继续尝试,但是你已经回答了我的问题,所以谢谢。很谢谢你,杰伊。当你说重写不是产品、类别、制造商和信息页面的URL时,你提到了我在寻找什么。这正是我所寻找的,因为我希望整个网站使用搜索引擎优化友好的网址。请提供一个直接链接到您的优步搜索引擎优化模块。使现代化这个模块是否适用于Windows和IIS7I我担心VQMOD的要求-因此,回答我自己的问题,似乎没有任何理由说明它在Windows上不起作用。我将尝试这个组件,并希望它能做到这一点。我仍然不明白为什么我的重写规则不起作用。在你购买我的mod之前,你有没有检查过你现在可以在OpenCart中用当前的SEO url文件重写产品等?如果没有,请务必这样做,因为如果这样做不起作用,您将需要在获得此功能之前修复它。另外请注意我的mod上重写的产品、类别、制造商和信息页面链接的不同,它们与默认链接有很大的不同,需要考虑的是我已经看过了模块。是否有必要重写opencart标准中的产品等URL?最好保持原样,然后只重写遵循index.php?_route_=?/?