我几乎没有.htaccess的任何知识,但我偶然发现了代码。 :)
我有一个拥有2个域名的CMS,每个域提取一个完全不同的网站,但通过一个后端进行管理。这些网站是相关的,所以没有真正的保密 - 父母和孩子。
我有一个必须仅在一个域上运行的扩展程序。它通过PayPal处理付款,PayPal将帐户限制为每个组织只有一个域。它与两个域一起使用。
我在后端有相对链接,因此菜单和文章链接到与该扩展有关的任何内容都会带有生成它的域。我需要一种方法来自动将来自子站点的任何内容直接扩展到父站点,包括凌乱和SEF链接。
所以,这是一个例子:
child.com/index.php?option=com_civicrm&task=civicrm/pcp/info&reset=1&id=1
转到
parent.org/index.php?option=com_civicrm&task=civicrm/pcp/info&reset=1&id=1
和
child.com/wildcard/wildcard
转到
parent.org/wildcard/wildcard
扩展名为com_civicrm。它需要任何变量才能工作。这些可能也可能不是“... / pcp /..."
如果这很重要,后端只会因parent.org/administrator/index.php?option=com_civicrm而有所不同...所以我不想意外地将后端指向前端而意外丢失“管理员”。
提前致谢, 海伦
答案 0 :(得分:1)
RewriteEngine On
RewriteBase /
# if domain is child.com, and url is '/wildcard/wildcard', redirect to same url on parent.org
RewriteCond %{HTTP_HOST} child\.com$
RewriteRule ^wildcard/wildcard$ http://parent.org/wildcard/wildcard [R=302,L]
# if domain is child.com, and querystring contains 'option=com_civicrm', redirect to same url on parent.org
RewriteCond %{HTTP_HOST} child\.com$
RewriteCond %{QUERY_STRING} option=com_civicrm
RewriteRule (.*) http://parent.org/$1 [R=302,L]
快乐的摸索: - )