He cavado alto y bajo en Google y StackOverflow para tratar de resolver mi problema, probando innumerables soluciones, pero nada ha funcionado por completo.htaccess Silencio Redirigir a Subdirectorio: Subdirectorio que muestra cuando no se arrastra '/'
Estoy buscando mover la raíz web del dominio principal en mi servidor a un subdirectorio. Lo que tengo actualmente para una ruta del servidor a raíz de la web:
/home/user/public_html/MyWebFilesHere
Lo que estoy tratando de tener:
/home/user/public_html/subdir/MyWebfilesHere
Cuando hojeo a mydomain.com, no debería haber ninguna diferencia visible aunque (es decir, "subdir" no visible después de la redirección).
Lamentablemente, estoy restringido a hacer esto puramente con un archivo .htaccess ya que estoy en alojamiento compartido y no tengo acceso a los archivos de configuración de Apache y tal. :(
Lo que tengo actualmente en mi .htaccess en public_html es:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1 [L]
Esto vuelve a dirigir con éxito todas las consultas a la sub-directorio, sin embargo hay un problema muy raro Si voy a
.mydomain.com/Contact/
funciona muy bien, la reorientación de la consulta a la ruta/subdirectorio/Contacto/pero dejando la barra de direcciones solo. Si voy a
mydomain.com/Contact
(Tenga en cuenta la falta de un terminador '/'), sin embargo, lo que se muestra en la barra de direcciones es
mydomain.com/subdir/Contact/
que no es lo que quiero ya "subdirectorio" está mostrando.
Para un ejemplo de trabajo en mi sitio real, prueba a navegar a
colincwilliams.com/Contact/
en comparación con
colincwilliams.com/Contact
¿Ustedes tienen alguna idea sobre cómo hacer este trabajo en silencio, con y sin ¿barra diagonal?
Jon Lin, su respuesta fue muy servicial y hizo una tonelada de sentido. ¡Gracias! Funcionó (la segunda sugerencia es agregar la barra al final), excepto que ahora ha roto mis enlaces CSS por alguna razón. Están formateados como "/CSS/core-style.css" pero están devolviendo un 404. –
Después de un toque de investigación, parece que los enlaces CSS están pasando por alto el archivo htaccess; "/ CSS/..." está buscando directamente en el directorio public_html para CSS/en lugar de entrar en subdir. –
Ah, se olvidó de que necesita excluir los archivos del final "/" cosas. Ver mi edición –