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吗的主要内容,如果未能解决你的问题,请参考以下文章

htaccess编写规则

httpd.conf 和虚拟主机 SSL 的重写规则

OSX + Apache2 + httpd.conf + hosts + .htaccess = 不工作

Apache httpd.conf配置文件AllowOverride参数详解

添加代理通行证后,apache重写规则不起作用

Apache Typecho框架启用地址重写