Cómo establecer raíz del documento a ser un subdirectorio de usar .htaccess y no VHost

En mi máquina local el siguiente funciona perfecto:

 <VirtualHost *:80>
       ##ServerAdmin [email protected]
       DocumentRoot "C:/xampp/htdocs/website_1"
       ServerName testpage.com/website_1
       ##ServerAlias www.recruitement.localhost
       ##ErrorLog "logs/dummy-host2.localhost-error.log"
       ##CustomLog "logs/dummy-host2.localhost-access.log" combined
 </VirtualHost>

Howerver Im hosting de mi web para empresa de hosting llamado justhost.com y no me permite modificar httpd-vhosts.conf o httpd.conf. Ahora mi sitio está codificado para que los archivos bajo website_1 referencia a otros archivos bajo website_1 el uso de simple barra»/», que significa website_1 es tratada como raíz del documento. Esto funciona perfectamente en la máquina local, pero cuando se carga el anfitrión me da errores en el servidor debido a que no puede encontrar los archivos desde su tratando de localizar los archivos en public_html

Por ejemplo:

  public_html
      - website_1
         - script.php
         - style.css

dentro de mi script.php:

<a href="/style.css">See My Style</a>

esto funciona bien en el equipo local, pero en el host falla, ya que intenta localizar estilo.css bajo public_html y no public_html/website_1

Hay una manera de tener múltiples documento raíces sin usar VHosts? Como usar .htaccess o algo más. Por favor, quiero tratar de evitar el tener que reescribir el código en la medida de lo posible, dado su alrededor de 10 miles de líneas de código.

¿Qué acerca de __DIR__, o lo han intentado ./ ?
No quiero utilizar ./ ni DIR, que requerirá de la reestructuración de miles de líneas de código
Estoy totalmente de no ver a su problema. No hay nada en tu vhost definición que incluso de forma remota raro, o requeriría un montón de .htaccess reglas. Sólo tienes que subir la website_1 directa a la carpeta public_html en su proveedor de servicios de hosting y debería funcionar bien.
pero no será capaz de utilizar <img src=»/img_1.png» /> ya que se busca img_1 en la raíz de la carpeta que se public_html
No se si, como sugiero, cargar los website_1 contenido directamente a public_html, a continuación, la imagen se resolverá bien. En un entorno de alojamiento compartido que usted tendrá que vivir con algunos predefinidos universal hechos, como que el DocumentRoot se fija a la public_html carpeta en DirectAdmin servidores.

OriginalEl autor GGio | 2013-05-12

3 Kommentare

  1. 10

    Activar el mod_rewrite y .htaccess a través de httpd.conf y, a continuación, poner este código en el .htaccess bajo DOCUMENT_ROOT directorio:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -d [OR]
    RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -l
    RewriteRule (?!^website_1/)^(.*)$ /website_1/$1 [R=302,L,NC]

    Una vez que se compruebe que se está trabajando bien, reemplace R=302 a R=301. Evite el uso de R=301 (Redirección Permanente) durante la prueba de la reglas de mod_rewrite.

    Yo no tengo acceso a httpd.conf desde su empresa de hosting no servidor dedicado.
    necesito reemplazar DOCUMENT_ROOT con algo?
    Puedo obtener bucle de redireccionamiento. ¿Dónde pongo el .htaccess en el directorio public_html o en el directorio public_html/website_1?
    Como ya he mencionado anteriormente código bajo DOCUMENT_ROOT/.htaccess. Acerca de redirigir la mirada puedo saber en qué URI lo has probado?
    añade este código a htaccess en lugar de su primera línea de código: # Por razones de seguridad, la Opción followsymlinks no puede ser reemplazado. #Options +FollowSymlinks -Multiview Opciones +SymLinksIfOwnerMatch -Multiview

    OriginalEl autor anubhava

  2. 3

    Hacer una entrada en una .htaccess. Supongamos que usted tiene un sitio web abc.com. Desea ejecutar otro sitio web en el directorio. A continuación, cree una .htaccess en el directorio padre señaló abc.com

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^abc.com$ [NC,OR]
    
    RewriteCond %{HTTP_HOST} ^www.abc.com$ 
    
    RewriteCond %{REQUEST_URI} !subdirectory/
    
    RewriteRule (.*) /subdirectory/$1 [L]

    OriginalEl autor Aman Varshney

  3. 2

    Reescritura de todas las solicitudes de imagen a raíz podría ser una solución. Usted puede intentar este en uno .htaccess en el directorio raíz:

    Options +FollowSymlinks -MultiViews
    RewriteEngine On
    RewriteBase /
    
    # Check if request is for an image at root. Add/remove file types if necessary.
    RewriteCond %{REQUEST_URI}  ^/([^.]+)\.(png|jpg|gif|css) [NC]
    RewriteCond %{REQUEST_URI}  !/website_1  [NC]
    # Rewrite request to point to "website_1" directory
    RewriteRule .*               /website_1/%1.%2          [L,NC]
    además de la imagen es un ejemplo podría ser archivos diferentes. Todos los archivos bajo website_1 tiene que tener raíz del documento a /website_1
    Sí, mapa de todos los archivos de imágenes, independientemente de su nombre tan largo como la extensión está en el estado. No, /website_1 no es el directorio raíz en justhost.com. Es public_html de acuerdo a su pregunta, y yo supongo que /website_1 es un directorio bajo. Pero, ¿has probado el código en la respuesta y si es así, ¿cuál es el error o problema?
    La imagen era simplemente un ejemplo. Si tengo un index.php y el estilo.css en el directorio public_html/website_1/ necesito de referencia para el estilo.css de index.php usando solo /estilo.css y no /website_1/estilo.css. El código de arriba me da 500 error interno del servidor
    Modificado mi respuesta la adición de la .css tipo de archivo y una condición para evitar bucles (error 500).
    puede usted hacer tan si fue solicitado ningún archivo en website_1 carga de website_1/ ? no sólo las imágenes y css podría ser php, js, etc

    OriginalEl autor Felipe Alameda A

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Recent Articles

Python «set» con duplicados/elementos repetidos

Hay una forma estándar de representar un "conjunto" que puede contener elementos duplicados. Como yo lo entiendo, un conjunto tiene exactamente un cero o...

Python: generador de expresión vs rendimiento

En Python, ¿hay alguna diferencia entre la creación de un generador de objetos a través de un generador de expresión versus el uso de...

Cómo exportar/importar la Masilla lista de sesiones?

Hay una manera de hacer esto? O tengo que tomar manualmente cada archivo de Registro? InformationsquelleAutor s.webbandit | 2012-10-23

no distingue mayúsculas de minúsculas coincidentes en xpath?

Por ejemplo, para el xml a continuación <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD...