我有以下configuration – 请注意别名和目录等效 – 取消注释他们如预期的工作,但基于dynamic/正则expression式的版本不 – 任何想法?
<VirtualHost *:80> ServerName temp.dev.local ServerAlias temp.dev.local DocumentRoot "C:\wamp\www\temp\public" <Directory "C:\wamp\www\temp\public"> AllowOverride all Order Allow,Deny Allow from all </Directory> # Alias /private/application/core/page/assets/images/ "C:/wamp/www/temp/private/application/core/page/assets/images/" # <Directory "C:/wamp/www/temp/private/application/core/page/assets/images/"> AliasMatch ^/private/application/(.*)/(.*)/assets/images/ /private/application/$1/$2/assets/images/ <DirectoryMatch "^/private/application/(.*)/(.*)/assets/images/"> Options Indexes FollowSymlinks MultiViews Includes AllowOverride None Order allow,deny Allow from all </DirectoryMatch> </VirtualHost>
AliasMatch并没有改变path – 我会猜测这不是意图?
AliasMatch ^/private/application/(.*)/(.*)/assets/images/ /private/application/$1/$2/assets/images/
改成:
AliasMatch ^/private/application/([^/]*)/([^/]*)/assets/images/ "C:/wamp/www/temp/private/application/$1/$2/assets/images/"
撇开:我换了.* s以避免匹配,以避免一些无意的命中。
您的DirectoryMatch也包含一个URLpath,而不是文件系统path。 它可能只是:
<Directory "C:/wamp/www/temp/private/application/">
如果你喜欢,你在那里的configuration对于LocationMatch来说是非常有用的。
<LocationMatch "^/private/application/[^/]*/[^/]*/assets/images/">