2

我有数百个 URL 的旧网站,看起来像这样:

http:www.domain.com/Contact.asp?Pid=344

http:www.domain.com/Contact.asp?Pid=345

http:www.domain.com/Contact.asp?Pid=346

等等 ...

我需要将所有这些永久移动到 1 个单个 URL:

http:www.domain.com/contact

我试过这个:

RewriteCond %{QUERY_STRING} Contact.asp?Pid=([0-999]+) 

RewriteRule ^http://www.domain.com/contact? [L,R=301]

但效果不好。

老网站使用ASP。新网站建立在Joomla. 该域将是旧站点的域

4

3 回答 3

1

你很近。您需要%{QUERY_STRING}像以前一样使用变量,但 var包含 URI-path (the Contact.asp?) 部分。此外,您RewriteRule缺少正则表达式模式。尝试:

RewriteCond %{QUERY_STRING} Pid=([0-999]+) 

RewriteRule ^/?Contact\.asp$ http://www.domain.com/contact? [L,R=301]
于 2012-11-01T01:54:40.433 回答
0
RewriteRule ^Contact.asp?Pid=(\d) /contact? [L]
于 2012-10-31T14:51:34.870 回答
0

您那里只有联系页面吗?您可以只对整个目录进行 301 处理,因为它们都移动到一个 URL。

RewriteEngine on
RewriteBase /
RewriteRule ^/(.*)$ http://www.domain.com/$1 [R=301,L]
于 2012-10-31T14:51:53.763 回答