Solución:
Acabo de encontrar el mismo problema con los alias en una instalación de Windows de Xampp.
Para solucionar el error 403:
<Directory "C:/Your/Directory/With/No/Trailing/Slash">
Require all granted
</Directory>
Alias /dev "C:/Your/Directory/With/No/Trailing/Slash"
La configuración predeterminada de Xampp debería estar bien con esto. Algunas personas han experimentado problemas con una denegación colocada en el directorio raíz, por lo que deben cambiar la etiqueta del directorio a:
<Directory "C:/Your/Directory/With/No/Trailing/Slash">
Allow from all
Require all granted
</Directory>
Ayudaría con esto, pero la versión actual de Xampp (v1.8.1 en el momento de escribir este artículo) no lo requiere.
En cuanto al problema de operaciones con el puerto 80, Xampp incluye un práctico botón de Netstat para descubrir qué está usando sus puertos. Dispare eso y solucione el conflicto, imagino que podría haber sido IIS, pero no puedo estar seguro.
Estoy usando XAMPP con Apache2.4, tuve el mismo problema. Quería dejar la carpeta xampp / htdocs predeterminada en su lugar, poder acceder a ella desde locahost y tener un host virtual para apuntar a mi área de desarrollo …
El contenido completo de mi C:xamppapacheconfextrahttp-vhosts.conf
el archivo está debajo …
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
##NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
##ServerAdmin [email protected]
##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
##ServerName dummy-host.example.com
##ServerAlias www.dummy-host.example.com
##ErrorLog "logs/dummy-host.example.com-error.log"
##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>
##<VirtualHost *:80>
##ServerAdmin [email protected]
##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
##ServerName dummy-host2.example.com
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:xampphtdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:nickstatic"
ServerName dev.middleweek.co.uk
<Directory "C:nickstatic">
Allow from all
Require all granted
</Directory>
</VirtualHost>
Entonces actualicé mi C:windowsSystem32driversetchosts
archivo como este …
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 dev.middleweek.co.uk
127.0.0.1 localhost
Reinicie su máquina por si acaso, abra el Panel de control de XAMPP e inicie Apache.
Ahora abra su dominio personalizado en su navegador, en el ejemplo anterior, será http://dev.middleweek.co.uk
¡Espero que ayude a alguien!
Y si desea poder ver las listas de directorios en su nuevo host virtual, edite su bloque de VirtualHost en C:xamppapacheconfextrahttp-vhosts.conf
para incluir “Índices de opciones” como este …
<VirtualHost *:80>
DocumentRoot "C:nickstatic"
ServerName dev.middleweek.co.uk
<Directory "C:nickstatic">
Allow from all
Require all granted
Options Indexes
</Directory>
</VirtualHost>
Saludos, Nick
Esta pregunta es antigua y, aunque logró que funcione, creo que sería útil si aclaro algunos de los puntos que ha planteado aquí.
Primero sobre el nombre del directorio que tiene espacios. He estado jugando con los archivos de configuración de apache2 y he descubierto que, si el nombre del directorio tiene espacio, escríbalo entre comillas dobles y todos los problemas desaparecerán. Por ejemplo…
NameVirtualHost local.webapp.org
<VirtualHost local.webapp.org:80>
ServerAdmin [email protected]
DocumentRoot "E:/Project/my php webapp"
ServerName local.webapp.org
</VirtualHost>
Tenga en cuenta la forma en que se escribe la línea DocumentRoot.
En segundo lugar, se trata de Acceso prohibido desde xampp. Encontré que la configuración predeterminada de xampp (..ruta a xampp / apache / httpd.conf) tiene una sección que se parece a la siguiente.
<Directory>
AllowOverride none
Require all denied
</Directory>
Cámbielo y haga que se vea como se muestra a continuación. Guarde el archivo, reinicie apache desde xampp y eso resuelve el problema.
<Directory>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride none
Require all granted
</Directory>