【发布时间】:2012-02-01 10:59:26
【问题描述】:
我正在将网站从具有 Apache 网络服务器的服务器迁移到另一台运行 Nginx 网络服务器的服务器,并且我想转换 .htaccess 文件,问题不仅在于语法,还在于文件名称,也是 ".htaccess" 还是什么?
【问题讨论】:
我正在将网站从具有 Apache 网络服务器的服务器迁移到另一台运行 Nginx 网络服务器的服务器,并且我想转换 .htaccess 文件,问题不仅在于语法,还在于文件名称,也是 ".htaccess" 还是什么?
【问题讨论】:
这是我使用的一个工具:
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
它不是 100% 准确,但它的基础非常好
另外,这里有一个关于转换规则的链接:
http://nginx.org/en/docs/http/converting_rewrite_rules.html
这个可以帮上一点忙:
http://wiki.nginx.org/HttpRewriteModule#rewrite
编辑:
文件名应为nginx.conf
【讨论】:
看这里:
server {
server_name domain1.com;
rewrite ^(.*) http://www.domain1.com$1 permanent;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /home/user/www/domain1;
index index.php index.html index.htm;
server_name www.domain1.com;
include hhvm.conf;
}
【讨论】:
Nginx 不支持 .htaccess 文件。
但是 .htaccess 文件不好。这是一种将 apache 配置的一部分放在文件系统上的任何地方,并告诉 apache 在每个请求时检查文件系统以查看您是否没有一些特殊配置的方法。 .htaccess 文件的唯一实际用途是将一小部分配置委托给用户,如果您是主机提供商并希望为您的用户允许一些 Web 服务器配置。
Nginx 配置在 nginx 重启时编译。当然,如果您真的不关心信息泄露问题(例如用户查看您的 Web 服务器配置),您可以包含几个可以放在您的 Web 目录中的文件,但具有与 .htaccess 相同的东西,每次请求时读取搞定了,不是用nginx的方式。
http://wiki.nginx.org/LikeApache-htaccess:
你不能这样做。你不应该。如果你需要 .htaccess,你可能做错了。
【讨论】: