apache重写规则可以进入httpd.conf吗
Posted
技术标签:
【中文标题】apache重写规则可以进入httpd.conf吗【英文标题】:Can apache rewrite rules go in httpd.conf 【发布时间】:2012-10-08 03:46:31 【问题描述】:如何创建一个简单的 apache 重写规则来重写:
http://domain.com/vanity 到 http://domain.com/foo/
还可以重写规则进入 httpd.conf 还是必须进入 .htaccess 文件?
提前致谢。
【问题讨论】:
【参考方案1】:把它放在你网站的<virtualhost>
。
RewriteEngine On
RewriteRule ^/vanity$ /foo/ [L]
[L]
将静默重定向,因此用户仍会在 URL 中看到 /vanity。您可以使用[R]
强制重定向。
【讨论】:
【参考方案2】:他们进入 httpd.conf。查看doc
【讨论】:
【参考方案3】:对于 httpd.conf,将“目录”标签包裹在您的重写规则周围。 对于 .htaccess 没有必要。 但是,通常认为将它们放在您的 httpd.conf 中更安全,所以这就是我所做的。
【讨论】:
【参考方案4】:其实apachedocs推荐httpd
而不是.htaccess
如果您有权访问,则应完全避免使用 .htaccess 文件 到 httpd 主服务器配置文件。使用 .htaccess 文件会减慢速度 你的 Apache http 服务器。您可以包含在 .htaccess 文件最好设置在目录块中,因为它将具有 效果相同,性能更好。
httpd.conf
性能更好,但您的 .htaccess
文件看起来与 httpd
不同,因为 httpd 中的变量可能具有完整路径。
【讨论】:
以上是关于apache重写规则可以进入httpd.conf吗的主要内容,如果未能解决你的问题,请参考以下文章
OSX + Apache2 + httpd.conf + hosts + .htaccess = 不工作