Правило ниже будет перенаправлять (301) с domain.com/product.aspx?iid=201
на domain.com/product/productname
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^iid=201 [NC]
RewriteRule ^product\.aspx$ /product/productname [NC,R=301,L]
Вы должны иметь в виду - mod_rewrite Apache, Helicon ISAPI_Rewrite v3, IIS 7.x - директива RewriteRule
(или ее эквивалент в IIS) работает только с частью пути в URL. Если вам нужно работать с доменным именем, протоколом, портом сервера, строкой запроса и т. Д. - вы должны использовать RewriteCond
.
Приведенное выше правило полностью работает - у меня есть Helicon ISAPI_Rewrite v3 на одном из моих серверов (IIS6, иначе это будет IIS7 и стандартный модуль перезаписи URL).
Если у вас есть какие-либо вопросы - пожалуйста, задавайте, но, скорее всего, я отвечу через несколько часов - здесь 3 часа ночи:)