Apache AliasMatch e DirectoryMatch não estão funcionando?

2

Eu tenho a seguinte configuração - observe o Alias e o equivalente do Diretório - descomente que eles funcionam como esperado, mas as versões baseadas em dinâmica / regex não - qualquer idéia ???

<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>
    
por Alex 30.09.2011 / 19:42

1 resposta

1

O AliasMatch não está alterando o caminho - vou adivinhar que isso não é pretendido?

AliasMatch ^/private/application/(.*)/(.*)/assets/images/ /private/application/$1/$2/assets/images/

Mude para:

AliasMatch ^/private/application/([^/]*)/([^/]*)/assets/images/ "C:/wamp/www/temp/private/application/$1/$2/assets/images/"

à parte: eu troquei o .* s para evitar corresponder / , para evitar alguns acertos não intencionais nos jogos.

Seu DirectoryMatch também contém um caminho de URL e não o caminho do sistema de arquivos. Provavelmente pode ser apenas:

<Directory "C:/wamp/www/temp/private/application/">

A configuração que você tem lá funcionaria muito bem para um LocationMatch , se você preferir:

<LocationMatch "^/private/application/[^/]*/[^/]*/assets/images/">
    
por 01.10.2011 / 01:45

Tags