【发布时间】:2015-09-15 09:02:23
【问题描述】:
我正在做一个网站项目,我们基本上从 TYPO3 转移到 WordPress 和 Magento 解决方案。
在启动新站点之前,我想添加重写规则以将旧(TYPO3,非 SEF)URL 指向相应的新 URL。我有一个 Excel 列表,其中包含大约 1000 个 URL,我想以某种方式添加到 htaccess 并创建 301。 如果您对此有更好的方法,我将不胜感激。
我正在努力解决的是:
“旧”网址结构类似于?id=123\&user_e15proddb1_pi1[domain]=42
相应的新 URL 将是
/de/alle-produkte/neuheiten.html
RewriteEngine 开启,RewriteBase 为 /。
我试过了
RewriteCond %{QUERY_STRING} ^id=123\&user_e15proddb1_pi1[domain]=42$
RewriteRule . /de/alle-produkte/neuheiten.html [R=301,L]
另外转义_和[]无济于事。
我试图通过
{QUERY_STRING}s 分成两部分
RewriteCond %{QUERY_STRING} ^id=123$
RewriteCond %{QUERY_STRING} ^user_e15proddb1_pi1[domain]=42$
遵循规则。也无济于事。
重写本身有效,因为我尝试过
RewriteRule .id=123\&user_e15proddb1_pi1\[domain\]=42$ /de/alle-produkte/neuheiten.html [R=301,L]
但这只有在开头没有问号的情况下才有效。
你能告诉我我做错了什么吗?
【问题讨论】:
标签: regex apache .htaccess mod-rewrite