httpd.conf并设置一个别名

我试图在我的httpd.conf文件中设置一个别名,以便我可以通过浏览器查看我的日志文件。 以下是我尝试创build的别名。

Alias /logs "/<servername>/log" <Directory /<servername>/log> Options Indexes FollowSymLinks AuthName "Application Logs" AuthType Basic AuthUserFile /<servername>/ihs/610/conf/.htpasswd <Limit GET POST> require valid-user </Limit> </Directory> 

这可以在我的开发者框中正常工作,但不在我的生产框中。 不同的是,在我的生产环境中,我的应用程序安装的上下文根是/ 。 当我input我的URL并添加别名(例如mysite.com/logs ),而不是看到日志目录,我看到我的自定义404错误页面。

我认为这是因为我没有使用上下文根或只是/我的应用程序,所有的请求将被应用程序延迟。

有没有解决办法?

像这样的东西应该工作:

你应该放,而不是某种:)它应该像“/ home / httpd / www / logs /”或“/ var / log / apache / log /”。

最好用“/”来完成目录。 在某些configuration中可能很重要。

 Alias /logs/ "/<path to your directory>/log/" <Directory /<path to your directory>/log/> Options Indexes FollowSymLinks AuthName "Application Logs" AuthType Basic AuthUserFile /<path to your directory>/ihs/610/conf/.htpasswd <Limit GET POST> require valid-user </Limit> </Directory> 

据推测,你的“应用程序”是某种types的Django / PHP / Perl的东西,或其他所有的URL处理本身,对吧? 根据configuration的方式,您可能需要在configuration文件中将此configuration移到较早的位置,或者如果您的应用程序使用RewriteRules进行设置,则添加一个例外以允许此前缀通过,而不会触发您的应用程序。

如果我理解正确的话,你正在使用一个单独的httpd.conf或.htaccess路由URL到你的应用程序…这样的事情:

 RewriteRule ^(.*)$ /index.php?route=$1 

您应该能够将.htaccess文件添加到您的日志目录中,并closures重写或添加

 RewriteCond %{REQUEST_URI} !^/logs RewriteRule ... as above...