我使用.htaccess
将网站管理页面重定向到全局管理页面,我想要做的是将引荐网站附加到URL的末尾,其中可能包含已经是查询字符串。我不知道从哪里开始,但还没找到任何有正确信息的东西。
我想做的是以下列方式重定向网址:
site2.com/admin/ => site1.com/admin/?ref=site2
site3.com/admin/?page=1 => site1.com/admin/?page=1&ref=site3
是否有人知道我可以将ref=site#
附加到网址的方式,并根据网址是否有查询使用正确的字符?
提前感谢您提供的任何帮助。
答案 0 :(得分:0)
将此代码放入DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{QUERY_STRING} !(^|&)ref=site1 [NC]
RewriteRule ^ %{REQUEST_URI}?ref=site1 [R=302,L,QSA,NE]
答案 1 :(得分:0)
尝试:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?site1\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
RewriteRule ^admin/$ http://site1.com/admin/?ref=%1 [L,QSA]
答案 2 :(得分:0)
我能够通过更多搜索找到如何执行此操作,这使我直接进入Httpd Wiki Rewrite Query String页面以获得答案。我怎么想念那个?我很欣赏我收到的答案,但没有一个完全符合我的要求。答案也非常简单。对于其他感兴趣的人:
RewriteRule ^admin(/.*)?$ http://ADMIN_SITE/admin$1?ref=REF_SITE [L,NC,QSA,R=301]
QSA标志将在?ref
查询后自动添加查询字符串。