我有一些需要重写的示例url:
RewriteCond %{QUERY_STRING} ^blue-spares-cycle-for-cancer-research$ [NC]
RewriteRule ^news/news-item/?$ http://www.blue-group.com/en/news/ [R=301,L]
RewriteCond %{QUERY_STRING} ^blue-spares-appoints-stuart-truckel-as-sales-director$ [NC]
RewriteRule ^news/news-item/?$ http://www.blue-group.com/en/news/ [R=301,L]
RewriteCond %{QUERY_STRING} ^project-manager-blue-machinery-london-ltd$ [NC]
RewriteRule ^about-us/careers/careers-item/$ http://www.blue-group.com/en/about/careers/ [R=301,L]
RewriteCond %{QUERY_STRING} ^000841:bakers-star-screen$ [NC]
RewriteRule ^used-machinery/en/screeners/used-machinery-item http://www.blue-group.com/en/used-machinery/ [R=301,L]
RewriteCond %{QUERY_STRING} ^000751:baler$ [NC]
RewriteRule ^used-machinery/en/other/used-machinery-item http://www.blue-group.com/en/used-machinery/ [R=301,L]
RewriteRule ^(.*)$ index.php/$1 [L]
我的问题是我有许多类似的url。我需要为每一个都创建新的RewriteCond
吗?
同时我得到的结果是这样的,例如:
http://www.blue-group.com/en/used-machinery/?000751:baler
快速谷歌搜索显示:
保持原始查询(默认行为)
RewriteRule ^page'.php$ /target.php [L]
# from http://example.com/page.php?foo=bar
# to http://example.com/target.php?foo=bar
丢弃原始查询(注意?后目标)
RewriteRule ^page'.php$ /target.php? [L]
# from http://example.com/page.php?foo=bar
# to http://example.com/target.php
替换原查询
RewriteRule ^page'.php$ /target.php?bar=baz [L]
# from http://example.com/page.php?foo=bar
# to http://example.com/target.php?bar=baz
将新查询追加到原查询(这里的关键是QSA)
RewriteRule ^page'.php$ /target.php?bar=baz [QSA,L]
# from http://example.com/page.php?foo=bar
# to http://example.com/target.php?foo=bar&bar=baz
原文