我在同一个服务器上有两个域来自同一个wordpress数据库,我想任何时候有人在sitea.com/random中键入重定向到siteb.com/random。我可以使用
重定向主页 RewriteCond %{HTTP_HOST} ^www2\.sitea\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.www2\.sitea\.com$
RewriteRule ^/?$ "http\:\/\/www2\.siteb\.com" [R=301,L]
但是,这不会转发任何带有结尾URL的URL(例如sitea.com/random/)。我已经使用了通配符选项将所有内容转发到新域,但是由于站点是从同一个IP中提取的,因此它会进入重定向循环。
任何帮助将不胜感激。提前谢谢!
答案 0 :(得分:0)
试试这个:
class BASE
{
public:
virtual void test_f(){std::cout<<"BASE::test_f\n";}
};
class DERIVED:public BASE
{
public:
virtual void test_f(){std::cout<<"DERIVED::test_f\n";}
};
void (BASE::*p_base)() = &BASE::test_f;
答案 1 :(得分:0)
不幸的是,这并不容易,但我最终找到了答案。在wp-config.php中,我添加并运行了函数
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$redirect = str_replace("www2.", "", curPageURL());
$remove_http_root = str_replace('http://', '', $redirect);
$split_url_array = explode('/', $remove_http_root );
if($split_url_array[0] == "olddomain.com"){
header("Location: http://www2.newdomain.com/$split_url_array[1]");
die();
}
然后我在.htaccess
中为主页添加了一个简单的重定向RewriteCond %{HTTP_HOST} ^www2\.olddomain\.com [OR]
RewriteCond %{HTTP_HOST} ^www\.www2\.olddomain\.com
RewriteRule ^/?$ "http\:\/\/www2\.newdomain\.com" [R=301,L]
希望这会帮助别人。也许有人会想出一个更清洁的方法来做到这一点。