我正在将一个使用Apache Web服务器的网站迁移到另一台运行Nginx Web服务器的服务器上,我想转换.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
。
if
的输出,现在我想知道该如何使用它? - user4920811Nginx不支持.htaccess文件。
但.htaccess文件是有害的。这是一种将apache配置部分放到文件系统上并告诉apache在每个请求时检查文件系统是否有特殊配置的方法。 唯一真正使用.htaccess文件的情况是,如果您是主机提供商并想允许用户进行一些Web服务器配置,则可以将其委托给用户的一小部分配置。
Nginx配置在nginx重启时编译。当然,您可以包含多个文件,并将其放在Web目录中,如果您确实不关心信息泄露问题(例如用户查看您的Web服务器配置),则可以这样做,但像.htaccess一样在每次请求时读取的东西不符合Nginx方式。
http://wiki.nginx.org/LikeApache-htaccess:
你不能这样做。你不应该这样做。如果你需要.htaccess,你可能错了。
看这里:
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;
}