apache - trabajo - Regla de reescritura para subdominios
reescritura del trabajo (1)
Una RewriteRule
con un objetivo en otro servidor siempre hará una redirección
URL absoluta
Si se especifica una URL absoluta, mod_rewrite comprueba si el nombre de host coincide con el host actual . Si lo hace, el esquema y el nombre de host se eliminan y la ruta resultante se trata como una ruta URL. De lo contrario, se realiza una redirección externa para la URL dada . Para forzar una redirección externa de vuelta al host actual, vea la bandera [R] a continuación.
Para asignar la URL http://example.com/app.php
en sus subdominios sin redireccionar, puede probar la bandera P|proxy
RewriteRule ^(.*)$ http://example.com/app.php/$1 [P,QSA]
También ten la nota final en mente
Nota: mod_proxy debe estar habilitado para usar esta bandera.
Por lo general, esto puede hacerse por
a2enmod proxy proxy_http
Si la URL objetivo es https://...
, también debe habilitar mod_proxy_connect y activar SSL en su configuración de host principal o virtual con SSLProxyEngine
SSLProxyEngine on
Dependiendo de sus necesidades, ProxyPass
podría ser una solución viable.
¿Es posible usar .htaccess para que un subdominio apunte a un archivo en el dominio principal? Tengo example.com como dominio principal y subdominios creados: one.example.com, two.example.com, etc. a través de DirectAdmin. Los subdominios deben apuntar a app.php en el dominio principal, pero en la url el subdominio debe persistir.
Así que navegar a one.example.com debería estar apuntando a app.php que vive en el dominio principal example.com, pero la url aún debería mostrar one.example.com
He buscado y probado muchas de las reglas de reescritura que se encuentran en el subdominio .htaccess rewrite en el directorio y en otros lugares. Actualmente tengo esta regla de reescritura en un archivo .htaccess en la subcarpeta del subdominio:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)/.example/.com
RewriteRule ^(.*)$ http://example.com/app.php$1 [L,NC,QSA]
Esto redirecciona y cambia la URL a example.com/app.php mientras que me gustaría que la url muestre el subdominio: one.example.com/whatever
¿Es posible hacer esto con .htaccess, o quizás hay una mejor manera de hacerlo?