usar tutorial servidor full descargar correo como php subdomain

php - tutorial - manual cpanel 2017



¿Cómo permitir que PHP cree subdominio automáticamente para cada usuario? (11)

¿Cómo creo un subdominio como http://user.mywebsite.com ? ¿Debo acceder a htaccess de alguna manera? ¿Es realmente posible crearlo a través de un código php puro o necesito usar algún lenguaje externo de script-server?

Para aquellos que respondieron: Bueno, entonces, ¿debería preguntarle a mi hosting si proporcionan algún tipo de acceso DNS?


Además de los cambios de configuración en su servidor WWW para manejar el nuevo subdominio, su código necesitaría hacer cambios a sus registros DNS. Entonces, a menos que esté ejecutando su propio BIND (o similar), necesitará averiguar cómo acceder a la configuración de su proveedor de servidores de nombres. Si no ofrecen algún tipo de API, esto podría ser complicado.

Actualización: sí, verificaría con su registrador si también proporcionan el servicio de servidor de nombres (como suele ser el caso). Nunca antes había explorado esta opción, pero sospecho que la mayoría de los registradores de consumo no. Busqué en Google GoDaddy API y GoDaddy DNS API pero no pude subir nada, así que supongo que la mejor opción sería consultar la ayuda en línea con su proveedor, y si eso no responde a la pregunta, consiga una llamada. de su personal de apoyo.


Configuramos el DNS comodín como explicaron anteriormente. Entonces, el registro a es * .yourname.com

Entonces, todos los subdominios van al mismo lugar, pero PHP trata a cada subdominio como una cuenta diferente.

Usamos el siguiente código:

$url=$_SERVER["REQUEST_URI"]; $account=str_replace(".yourdomain.com","",$url);

Este código simplemente establece la variable $account lo mismo que el subdominio. A continuación, puede recuperar sus archivos y otra información en función de su cuenta.

Probablemente, esto no sea tan eficiente como las formas mencionadas anteriormente, pero si no tiene acceso a BIND y / o acceso limitado a .htaccess, este método debería funcionar (siempre que su host configure el comodín para usted).

En realidad, utilizamos este método para conectarnos a la base de datos de clientes para una aplicación de comercio electrónico de varias compañías, pero también puede funcionar para usted.


En primer lugar, debe asegurarse de que su servidor esté configurado para permitir subdominios comodines. Logré eso en JustHost creando un subdominio nombrado manualmente * . También especifiqué una carpeta llamada subdomains como la raíz del documento para los subdominios de comodines. Agregue esto a un archivo .htaccess en su carpeta de subdominios:

RewriteEngine On RewriteCond %{HTTP_HOST} !^www/.website/.com$ RewriteCond %{HTTP_HOST} ^(/w+)/.website/.com$ RewriteCond %{REQUEST_URI}:%1 !^/([^/]+)/([^:]*):/1 RewriteRule ^(.*)$ /%1/$1 [QSA]

Finalmente, todo lo que necesita hacer es crear una carpeta en su carpeta de subdominios y luego colocar los archivos del subdominio en ese directorio.


Está buscando crear un registro A personalizado.

Estoy bastante seguro de que puedes usar comodines cuando especifique registros A que te permitan hacer algo como esto:

*.mywebsite.com IN A 127.0.0.1

127.0.0.1 sería la dirección IP de su servidor web. El método para agregar realmente el registro dependerá de su anfitrión.

Hacerlo como http://mywebsite.com/user sería mucho más fácil de configurar si es una opción.

Luego, simplemente podría agregar un archivo .htaccess que se vea así:

Options +FollowSymLinks RewriteEngine On RewriteRule ^([aA-zZ])$ dostuff.php?username=$1

En lo anterior, los nombres de usuario están limitados a los caracteres az

La regla de reescritura para agarrar el subdominio se vería así:

RewriteCond %{HTTP_HOST} ^(^.*)/.mywebsite.com RewriteRule (.*) dostuff.php?username=%1


Esto se puede lograr en .htaccess siempre que su servidor esté configurado para permitir subdominios comodín. Logré eso en JustHost creando un subdominio nombrado manualmente * y especificando una carpeta llamada subdominios como la raíz del documento para los subdominios comodín. Agregue esto a su archivo .htaccess :

RewriteEngine On RewriteCond %{HTTP_HOST} !^www/.website/.com$ RewriteCond %{HTTP_HOST} ^(/w+)/.website/.com$ RewriteCond %{REQUEST_URI}:%1 !^/([^/]+)/([^:]*):/1 RewriteRule ^(.*)$ /%1/$1 [QSA]

Finalmente, crea una carpeta para tu subdominio y coloca los archivos de subdominios.


La característica que buscas se llama Subdominios Comodines . Le permite no tener que configurar el DNS para cada subdominio, y en su lugar usa reescrituras de apache para la redirección. Puede encontrar un buen tutorial here , pero hay miles de tutoriales disponibles. Aquí está el código necesario de ese tutorial:

<VirtualHost 111.22.33.55> DocumentRoot /www/subdomain ServerName www.domain.tld ServerAlias *.domain.tld </VirtualHost>

Sin embargo, como requería el uso de VirtualHosts, debe establecerse en el archivo httpd.conf del servidor, en lugar de en un .htaccess local.


Lo hago un poco diferente de Mark. Paso el dominio completo y tomo el subdominio en php.

RewriteCond {REQUEST_URI} !/.(png|gif|jpg)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php?uri=$1&hostName=%{HTTP_HOST}

Esto ignora las imágenes y asigna todo lo demás a mi archivo index.php. Entonces si voy a

http://fred.mywebsite.com/album/Dance/now

Vuelvo

http://fred.mywebsite.com/index.php?uri=album/Dance/now&hostName=fred.mywebsite.com

Luego, en mi código index.php exploto mi nombre de usuario fuera de hostName. Esto me da lindas bonitas URL de SEO.


No te preocupes con los archivos .htaccess cuando puedes utilizar el alojamiento virtual masivo de Apache .

De la documentación:

#include part of the server name in the filenames VirtualDocumentRoot /www/hosts/%2/docs

En cierto modo, es el reverso de su pregunta: cada ''subdominio'' es un usuario. Si el usuario no existe, obtienes un 404.

El único inconveniente es que la variable de entorno DOCUMENT_ROOT no está establecida correctamente en el subdirectorio utilizado , pero la raíz de documentos predeterminada en de htconfig.


Podría [potencialmente] hacer una reescritura de la URL, pero sí: debe tener el control de su configuración de DNS para que cuando se agrega un usuario obtenga su propio subdominio.


Solo quería agregar que si usa CloudFlare (gratis), puede usar su API para administrar su DNS con facilidad.


Solución PHP simple para subdominios y aplicaciones web multidominio

Paso 1. Proporcione un registro de DNS A como "*" para los dominios (o dominio) que va a servir para "example.org"

A record => *.example.org A record => *.example.net

Paso 2. Verificar la unicidad de los inicios de sesión cuando el usuario se registra o cambia el inicio de sesión. Además, evite los puntos en esos inicios de sesión.

Paso 3. Luego verifica la consulta

// Request was http://qwerty.example.org $q = explode(''.'', $_SERVER[''HTTP_HOST'']); /* We get following array Array ( [0] => qwerty [1] => example [2] => org ) */ // Step 4. // If second piece of array exists, request was for // SUBDOMAIN which is stored in zero-piece $q[0] // otherwise it was for DOMAIN if(isset($q[2])) { // Find stuff in database for login $q[0] or here it is "qwerty" // Use $q[1] to check which domain is asked if u serve multiple domains } ?>

Esta solución puede servir para diferentes dominios

qwerty.example.org qwerty.example.net johnsmith.somecompany.com paulsmith.somecompany.com

Si necesita los mismos cortes en diferentes dominios servidos de manera diferente, puede necesitar almacenar la elección del usuario para el dominio al registrar el inicio de sesión.

smith.example.org // Show info about John Smith smith.example.net // Show info about Paul Smith