我有一个本地域名 .dz ,不允许更改DNS ,我想将域和所有页面重定向到另一个域。 com ,并将.dz地址保留在地址栏中并完全隐藏.com域名。
我搜索了整个互联网,所有解决方案都没有这样做,有些会重定向到.com,而.com会在地址栏中显示,而其他一些只重定向主页。
我想知道是否是直接从.com域读取然后将内容写入.dz域的php函数
我可以访问.htaccess或PHP文件。
答案 0 :(得分:6)
在.htaccess
中尝试使用代理:
RewriteEngine on
RewriteRule ^ http://domain.com%{REQUEST_URI} [NE,P]
如果网站很简单,这可能就足够了。
答案 1 :(得分:6)
我假设您有权访问httpd.conf
或conf
目录,
请在提及mod_proxy的部分的httpd.conf
中尝试此操作。
ProxyPass / http://yourwebsite.com/ smax=0 ttl=60 retry=5
ProxyPassReverse / http://yourwebsite.com/ smax=0 ttl=60 retry=5
如果您必须将上述规则放在名为httpd-ajp.conf
的单独conf文件中,您可以在conf/extra
目录中找到它。
完成后,您必须在尝试检查之前重新启动服务器。
修改强>
正如您所说,您无法访问conf
目录,可以在.htaccess
RewriteEngine On
RewriteRule ^(.*)$ http://domain.com/$1 [P]
但您必须确保已启用mod_proxy,如果您能够与托管服务提供商联系,则必须在httpd.conf
中取消注释这些行。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
答案 2 :(得分:2)
实际上,网络应用程序应该托管在 .dz 域中,您应该将 .com 永久地重定向到 dz。你做什么除了在dz域名中更改DNS之外,它将是对 .com 本身(dz域名)的请求。
我的意思是除非你想要为每个请求映射所有网址并为 .com 做一个卷曲并更改DOM文件并打印它,否则没有办法。或者使用Iframe,这意味着你也应该保留 .com 域名。
答案 3 :(得分:1)
只要它们是单独托管的,就有一种方法,但是,你的.com需要生效并且正常工作。
这与原始的Facebook应用系统相同,只需发送到其URL,然后读取并显示输出。是否有GET,POST或Headers
基本上,它是一个PHP脚本代理,不会更改或添加任何来自其代理服务的输出
<?php
$protocol = "http";
$domain = "domain.com";
$ch = curl_init();
$requestPath = $_SERVER['REQUEST_URI'];
$queryString = http_build_query($_GET);
curl_setopt($ch,CURLOPT_URL, $protocol.'://'.$domain.$requestPath);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$mode = $_SERVER['REQUEST_METHOD'];
$headers = getallheaders();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
if ($mode == 'POST'){
curl_setopt($ch,CURLOPT_POST, count(http_build_query($_POST)));
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($_POST));
}
$response = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
$headers = explode("\r\n", $header);
unset($headers[0]);
echo "<pre>";
foreach($headers as $val){
if(strpos($val, "Transfer-Encoding") === false){
header("$val");
flush();
}
}
echo "</pre>";
//close connection
curl_close($ch);
echo $body;
?>
带有重写文件
RewriteEngine On
RewriteRule .* index.php [L]
如果您在.dz域中托管此内容,则会在不更改域名的情况下指向.com。
答案 4 :(得分:0)
此代码可帮助您重定向并保留URL后的所有内容。
/kvmfs/vms/{% block hostname %}{% endblock hostname %}/config.xml:
file.managed:
- source: https://git.cybbh.space/vta/saltstack/raw/master/apps/virsh/files/common.xml
- makedirs: True
- template: jinja
- skip_verify: True
- defaults:
name: {{ self.hostname() }}
mem: {% block mem %}{% endblock mem %}
cpu: {% block cpu %}{% endblock cpu %}
network: {% block network %}{% endblock network %}
/kvmfs/vms/{{ self.hostname() }}/disk0.qcow2:
file.copy:
- source: /kvmfs/images/{% block os %}{% endblock os %}-latest
qemu-img resize /kvmfs/vms/{{ self.hostname() }}/disk0.qcow2 {% block disk %}{% endblock disk %}:
cmd.run:
- requires:
- /kvmfs/vms/{{ self.hostname() }}/disk0.qcow2
/kvmfs/vms/{{ self.hostname () }}/data/meta-data:
file.managed:
- source: https://git.cybbh.space/vta/saltstack/raw/master/apps/virsh/files/common.metadata
- makedirs: True
- template: jinja
- skip_verify: True
- defaults:
hostname: {{ self.hostname() }}
/kvmfs/vms/{{ self.hostname () }}/data/user-data:
file.managed:
- source: https://git.cybbh.space/vta/saltstack/raw/master/apps/virsh/files/common.userdata
- makedirs: True
- skip_verify: True
genisoimage -o /kvmfs/vms/{{ self.hostname () }}/config.iso -V cidata -r -J /kvmfs/vms/{{ self.hostname () }}/data/meta-data /kvmfs/vms/{{ self.hostname () }}/data/user-data:
cmd.run:
- requires:
- /kvmfs/vms/{{ self.hostname () }}/data/metadata
- /kvmfs/vms/{{ self.hostname () }}/data/userdata
答案 5 :(得分:0)
@Séddik,请在.htaccess文件中尝试这样的
RewriteCond %{HTTP_HOST} ^www.your-local-domain.dz
RewriteRule ^(.*) http://www.your-another-domain.com/$1 [P]
这可能会对你有所帮助!
答案 6 :(得分:0)
要显示DomainB中的内容但显示DomainA网址,则有2个选项:
<强> 1。园区域
如果DomainB是您的primary domain name,只需将DomainA添加为Parked Domain。
<强> 2。使用.htaccess文件重定向
此方法是:重定向并保留URL后面的所有内容
第一个选项会在一个网址上显示与另一个网址相同的所有内容。 为此,您可以修改用户将访问的域的.htaccess文件,并插入以下代码行:
RewriteCond %{HTTP_HOST} ^DomainA.com
RewriteRule ^(.*) http://DomainB.com/$1 [P]
如果您使用file manager in cPanel,请确保您可以选择显示所选的隐藏文件。
答案 7 :(得分:0)
你提到过 - &#39; .dz太慢而且不允许DNS更改,这就是为什么我保留了.com而我想要重定向&#34;缓慢托管&#34; .dz到&#34;快速主持人&#34; .com&#39; ..
当.dz域太慢时,不值得花时间重定向整个网络流量。它会让事情变得更慢。
您可以在慢速托管.dz域中放置重定向html(如元刷新),并直接从.com域中为用户提供服务。保持“慢速托管”不会让您受益匪浅。 .dz域名作为您的主要网站...