我搜索并尝试了几种可能的解决方案。
我从:
开始http:// example.com/ 729/start-page.asp?cid=4004 http:// example.com/ 729/start-page.asp?cid=7916
并尝试:
http:// example.com/ johns-start-page http:// example.com/ judys-start-page
或如果可能的话:
http:// johns-start-page.example.com/ http:// judys-start-page.example.com/到目前为止,我已经得到了:
RewriteEngine on RewriteCond %{QUERY_STRING} ^cID=4004$ RewriteRule ^729\.asp$ /johns-start-page [NC,R=301,L] RewriteCond %{QUERY_STRING} ^cID=7916$ RewriteRule ^729\.asp$ /judys-start-page [NC,R=301,L]
答案 0 :(得分:2)
只要您对这些内容进行硬编码,就可以尝试:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+729/start-page.asp\?cid=4004($|\ |\&)
RewriteRule ^ /johns-start-page? [L,R=301]
RewriteCond %{THE_REQUEST} \ /+729/start-page.asp\?cid=7916($|\ |\&)
RewriteRule ^ /judys-start-page? [L,R=301]
RewriteRule ^johns-start-page$ /729/start-page.asp?cid=4004 [L,QSA]
RewriteRule ^judys-start-page$ /729/start-page.asp?cid=7916 [L,QSA]
对于子域,您需要确保使用DNS设置将这些子域指向同一IP地址。然后是:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^johns-start-page\.example\.com$ [NC]
RewriteCond %{THE_REQUEST} \ /+729/start-page.asp\?cid=4004($|\ |\&)
RewriteRule ^ http://johns-start-page.example.com/? [L,R=301]
RewriteCond %{HTTP_HOST} !^judys-start-page\.example\.com$ [NC]
RewriteCond %{THE_REQUEST} \ /+729/start-page.asp\?cid=7916($|\ |\&)
RewriteRule ^ http://judys-start-page.example.com/? [L,R=301]
RewriteCond %{HTTP_HOST} ^johns-start-page\.example\.com$ [NC]
RewriteRule ^$ /729/start-page.asp?cid=4004 [L,QSA]
RewriteCond %{HTTP_HOST} ^judys-start-page\.example\.com$ [NC]
RewriteRule ^$ /729/start-page.asp?cid=7916 [L,QSA]
但除非您将其设置为包含FQDN,否则所有链接都可能会中断。