1

在我的 apache 服务器(在 windows7 上)的 httpd.conf 文件中,我使用了LoadModule alias_module modules/mod_alias.so 然后我用以下内容修改了 httpd.conf:

<IfModule alias_module>
    别名 /b /blog
    ScriptAlias /cgi-bin/ "cgi-bin/"
</IfModule>

在我重新启动服务器并在地址栏中键入 localhost/b 后,它没有重定向到 localhost/blog。我不知道为什么。你能帮我吗,非常感谢任何帮助

4

1 回答 1

2

别名声明与重定向不同。

Alias /b /blog

告诉 Apache 使您的文件系统上存在的文件在 URL 处可用的路径/blog(这在 Windows 上没有多大意义)下可用http://myserver.com/b,即请求http://myserver.com/b/something.html将尝试/blog/something.html从您的文件系统返回文件的内容,如果那样则失败文件不存在 - 浏览器地址栏仍会显示http://myserver.com/b/something.html.

听起来你所追求的是

Redirect /b http://myserver.com/blog

在这种情况下,请求http://myserver.com/b/something.html将导致 HTTP 重定向,浏览器的地址栏将更改为http://myserver.com/blog/something.html.

当然,您需要确保/blog正确解析,Alias如果它不在DocumentRoot.

Alias /blog "C:/web/blog"
<Directory "C:/web/blog">
  Order allow,deny
  Allow from all
</Directory>
于 2012-07-19T18:51:47.503 回答