Tengo un index.html
en mi carpeta /Users/igor/Sites/MySite
(igor
es mi nombre de usuario en Mac). Los enlaces (por ejemplo: [Página](apple.stackexchange.com/page)
) van todos a localhost/page
en lugar de http://localhost/~igor/MySite/page
. http://localhost
muestra Funciona!
, en http://localhost/~igor/
puedo ver todos mis archivos y carpetas.
Mi archivo /private/etc/apache2/users/igor.conf
:
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
Mi archivo /private/etc/apache2/extra/httpd-userdir.conf
(sin comentarios):
UserDir Sites
Include /private/etc/apache2/users/*.conf
RegisterUserSite customized-users
También descomenté líneas en httpd.conf
como se describe aquí.
Algunas líneas de mi httpd.conf
:
User _www
Group _www
AllowOverride none
Require all denied
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride None
Require all granted
Salida de httpd -V
:
Versión del servidor: Apache/2.4.23 (Unix)
Servidor construido: Ago 8 2016 16:31:34
Número mágico del módulo del servidor: 20120211:61
Servidor cargado: APR 1.5.2, APR-UTIL 1.5.4
Compilado usando: APR 1.5.2, APR-UTIL 1.5.4
Arquitectura: 64-bit
MPM del servidor: prefork
con hilos: no
bifurcado: sí (cantidad variable de procesos)
Servidor compilado con....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (direcciones IPv4-mapeadas habilitadas)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
¿Cómo corregir los enlaces para que correspondan a Sites/MySite/MyLink
en lugar de localhost/MyLink
? Gracias.
Actualización: httpd -t -D DUMP_RUN_CFG
devuelve:
[Jue Oct 13 16:55:24.277291 2016] [so:warn] [pid 46810] AH01574: el módulo php5_module ya está cargado, ignorando
AH00112: Advertencia: DocumentRoot [/usr/docs/dummy-host.example.com] no existe
AH00112: Advertencia: DocumentRoot [/usr/docs/dummy-host2.example.com] no existe
Raíz del servidor: "/usr"
Raíz principal del documento: "/Library/WebServer/Documents"
ErrorLog principal: "/private/var/log/apache2/error_log"
Mutex por defecto: dir="/private/var/run/" mecanismo=por_defecto
Mutex mpm-accept: usando_por_defecto
PidFile: "/private/var/run/httpd.pid"
Definir: DUMP_RUN_CFG
Usuario: nombre="_www" id=70 no_utilizado
Grupo: nombre="_www" id=70 no_utilizado
0 votos
Solo un consejo... "los números de línea" son irrelevantes en
httpd.conf
debes hacer referencia a las directivas (como DocumentRoot). Las directivas pueden estar en cualquier lugar de httpd.conf y los archivos httpd.conf varían según la distribución, la versión de Apache y el usuario, por lo que los números de línea no ayudan.0 votos
No estoy viendo DocumentRoot, pero veo que tienes un directorio en
/Library/WebServer/Documents/
. Ejecuta este comando:httpd -t -D DUMP_RUN_CFG
y publica los resultados.0 votos
@Allan Agregó los resultados en la pregunta.
0 votos
En algún lugar de tu
httpd.conf
tu DocumentRoot no está configurado correctamente porquehttpd
no tiene el valor correcto. Consulta el valor de "Directorio de Documentos Principal". Necesitarás revisar tus archivos httpd.conf (incluyendo los personalizados) y asegurarte de que estás configurando la directiva correctamente; solo debería haber una y solo debería estar en el `httpd.conf' principal.0 votos
@Allan ¿Qué debería ser
DocumentRoot
y ? Debería serUsers/igor/Sites/
.0 votos
Busca DocumentRoot en
httpd.conf
y haz que sea el directorio donde quieres que esté la root de tu sitio web.0 votos
@Allan Gracias. Cambié
Users/igor/Sites/
por/Users/igor/Sites/
. Eso lo solucionó.