script redireccionar parte para ocultar link htaccess enmascarar dominio direcciones barra php .htaccess dns

php - redireccionar - Redirige el sitio web pero conserva la URL original en la barra de direcciones



redireccionar url (8)

Tengo un nombre de dominio local .dz que no permite cambios de DNS , quiero redirigir el dominio y todas las páginas a otro dominio .com , y mantener la dirección .dz en la barra de direcciones y ocultar completamente el dominio .com.

He buscado en toda Internet todas las soluciones no hacen esto, algunas lo redirigen a .com y las .com se muestran en la barra de direcciones y algunas otras redirigen solo la página de inicio.

Me pregunto si la función es php para leer directamente desde el dominio .com y luego escribe el contenido en el dominio .dz

Tengo acceso a ambos .htaccess o los archivos PHP.


de hecho, la aplicación web debe estar alojada en el dominio .dz y debe redireccionar .com permanentemente a dz. lo que sea que hagas, excepto cambiar el DNS en el lado del dominio dz, será una solicitud para .com no en sí (el nombre de dominio dz).

Quiero decir que no hay forma de hacerlo, a menos que quieras mapear todas las URL y hacer un curl a .com para cada solicitud y cambiar el archivo DOM e imprimirlo. o usa Iframe, lo que significa que debes mantener el dominio .com también.


Pruebe con el proxy en .htaccess :

RewriteEngine on RewriteRule ^ http://domain.com%{REQUEST_URI} [NE,P]

Es posible que esto sea lo suficientemente bueno en su caso, si el sitio es simple.


Este código te ayudará a redirigir y mantener todo después de la URL.

RewriteCond %{HTTP_HOST} ^domainname.com RewriteRule ^(.*) http://domainname.com/$1 [P]


@ Séddik, por favor intente así en su archivo .htaccess

RewriteCond %{HTTP_HOST} ^www.your-local-domain.dz RewriteRule ^(.*) http://www.your-another-domain.com/$1 [P]

Esto puede ayudarte!


Existe un método siempre que se alojen por separado, sin embargo, su .com deberá estar activo y en funcionamiento.

A continuación, puede utilizar PHP como un sistema proxy.

<?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; ?>

con un archivo de reescritura

RewriteEngine On RewriteRule .* index.php [L]

si aloja esto en su dominio .dz, apuntará a su .com sin cambiar el nombre de dominio.


Para mostrar los contenidos de DomainB pero mostrar la URL de DomainA, hay 2 opciones:

1. Park domain

Si DomainB es su nombre de dominio principal , simplemente agregue DomainA como un dominio aparcado .

2. Redirigir usando el archivo .htaccess

Este método es: redirige y guarda todo después de la URL

La primera opción mostrará todo el mismo contenido en una URL como lo haría con otra. Para hacer esto, debe modificar su archivo .htaccess para el dominio al que irán sus usuarios, e insertar estas líneas de código:

RewriteCond %{HTTP_HOST} ^DomainA.com RewriteRule ^(.*) http://DomainB.com/$1 [P]

Si está utilizando el administrador de archivos en cPanel , asegúrese de tener la opción de mostrar los archivos ocultos seleccionados.


Supongo que tiene acceso al directorio httpd.conf o conf ,

Pruebe esto en su httpd.conf en la sección donde se menciona mod_proxy.

ProxyPass / http://yourwebsite.com/ smax=0 ttl=60 retry=5 ProxyPassReverse / http://yourwebsite.com/ smax=0 ttl=60 retry=5

Y puede ser que en caso de que tenga que poner las reglas anteriores en un archivo conf independiente llamado httpd-ajp.conf , lo encontrará en conf/extra directorio conf/extra .

Y cuando termine, debe reiniciar su servidor antes de intentar verificarlo.

Editar

Como ya dijiste que no tienes acceso al directorio conf , puedes probar la siguiente regla en .htaccess

RewriteEngine On RewriteRule ^(.*)$ http://domain.com/$1 [P]

Pero debe asegurarse de que mod_proxy esté habilitado; estas líneas deben ser descomentadas en httpd.conf si puede solicitarlo con su proveedor de hosting.

LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so


usted ha mencionado: ''el .dz es demasiado lento y no permite el cambio de DNS, es por eso que he reservado un .com y quiero redirigir el "alojamiento lento" .dz a "el host rápido'' .com '' ..

Cuando el dominio .dz es demasiado lento, no vale la pena invertir su tiempo en la redirección de todo el tráfico web. Hará las cosas más lentas.

Puede poner un html de reorientación (como meta-refresh) en su dominio .dz de alojamiento lento y sirve a los usuarios directamente desde el dominio .com. No hay forma de que se beneficie al mantener el dominio .dz de "alojamiento lento" como su sitio principal ...