¿Es posible usar .htaccess para reescribir un subdominio en un directorio?
Ejemplo:
muestra el contenido de
¿Es posible usar .htaccess para reescribir un subdominio en un directorio?
Ejemplo:
muestra el contenido de
Intente poner esto en su archivo .htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]
Para una regla más general (que funciona con cualquier subdominio, no solo sub
) reemplace las dos últimas líneas con esto:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ subdomains/%1/$1 [L,NC,QSA]
http://test.domain.com
, la URL me redirige ahttp://test.domain.com/subdomains/test/
. ¿Es posible sin mostrar el/subdomains/test/
al final?P
bandera además deL
.http://test.domain.com/subdomains/test/
, cuando solo quiero que se muestrehttp://test.domain.com/
test.domain.com/subdomains/test
, tal vez haya algo más aquí. ¿Puedes agregarRewriteBase /
justo despuésRewriteEngine on
? Además, si desea que siga mostrándosetest.domain.com
, tendrá que usar mod_proxy y la[P]
bandera.No soy un experto en mod_rewrite, a menudo lucho con eso, pero he hecho esto en uno de mis sitios, es posible que necesite otras banderas, etc., dependiendo de sus circunstancias. Estoy usando esto:
Cualquier otra regla de reescritura para el resto del sitio debe aplicarse posteriormente para evitar que interfieran con la reescritura de su subdominio.
fuente
.htaccess
llega a esta página (como lo hice yo), además de crear el.htaccess
archivo real , para que sea efectivo, debe establecerAllowOverride
suVirtualHost
configuración ( stackoverflow.com/a/22819550/1657502 ) , habilite elrewrite
módulo de Apache y luego reinicie Apache ( stackoverflow.com/a/5758551/1657502 )www.
prefijo opcional probablemente se admita mejor mediante una redirección que una reescritura.Puede usar la siguiente regla en .htaccess para reescribir un subdominio en una subcarpeta:
Explicación línea por línea:
La línea anterior le dice al servidor que encienda el motor para reescribir las URL.
Esta línea es una condición para RewriteRule en la que coincidimos con el host HTTP utilizando un patrón de expresiones regulares. La condición dice que si el host es sub.domain.com , ejecute la regla.
La regla coincide con http://sub.domain.com/foo y la redirige internamente a http://sub.domain.com/folder/foo .
Reemplace sub.domain.com con su subdominio y carpeta con el nombre de la carpeta a la que desea apuntar su subdominio.
fuente
Tuve el mismo problema y encontré una explicación detallada en http://www.webmasterworld.com/apache/3163397.htm
Mi solución (el contenido de los subdominios debe estar en una carpeta llamada
sd_subdomain
:fuente
Esto redirige a la misma carpeta a un subdominio:
.httaccess
fuente
Intente poner este archivo .htaccess en la carpeta del subdominio:
Redirige a http://domain.com/subdomains/sub/ , cuando solo desea que muestre http://sub.domain.com/
fuente
Redirigir el directorio del subdominio:
fuente
Para cualquier solicitud de subdominio, use esto:
Simplemente haga que alguna carpeta sea igual al nombre de subdominio que necesita. La carpeta debe existir así: dominio.com/sub para subdominio.com .
fuente