Php 为什么在apache2服务器配置中使用别名而不是重定向指令时出现错误403?

Php 为什么在apache2服务器配置中使用别名而不是重定向指令时出现错误403?,php,apache,redirect,alias,Php,Apache,Redirect,Alias,一般来说,我不熟悉apache和web服务器,但是我在从web访问带有别名URL的PHP时遇到问题。我的配置是这样的: ServerAdmin something@gmail.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com AliasMatch "^/index$" "/" AliasMatch "^/about$" "/about.php" AliasMatch

一般来说,我不熟悉apache和web服务器,但是我在从web访问带有别名URL的PHP时遇到问题。我的配置是这样的:

ServerAdmin something@gmail.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com

AliasMatch "^/index$" "/"
AliasMatch "^/about$" "/about.php"
AliasMatch "^/editor$" "/editor.php"

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

我想显示的php文件位于DocumentRoot文件夹中,我已经确保root及其所有子目录和文件都具有755权限。让我困惑的是,我没有使用别名,而是使用了重定向,它工作得很好,只是浏览器URL字段显示的是.php,这是不可取的。那么,为什么权限不是通过别名授予的,而是通过重定向授予的呢?下面是试图使用上述站点配置文件访问的日志条目:

127.0.0.1---[27/Jan/2017:04:11:55+0100]“获取/关于HTTP/1.1”403422“,“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/55.0.2883.87 Safari/537.36”


感谢您的帮助,干杯您应该使用目标的完整路径:

AliasMatch "^/index$" "/var/www/example.com/"
AliasMatch "^/about$" "/var/www/example.com/about.php"
AliasMatch "^/editor$" "/var/www/example.com/editor.php"
在这种情况下,更简单的别名也有效:

Alias "/index" "/var/www/example.com/"
等等

工具书类