Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Apache.htaccess文件更改为与Nginx一起使用_Apache_.htaccess_Nginx - Fatal编程技术网

将Apache.htaccess文件更改为与Nginx一起使用

将Apache.htaccess文件更改为与Nginx一起使用,apache,.htaccess,nginx,Apache,.htaccess,Nginx,我正在将一个网站从一个有Apache web服务器的服务器迁移到另一个运行Nginx web服务器的服务器,我想转换.htaccess文件,问题不仅在于语法,还在于文件名,它是否也是“.htaccess”或什么 以下是我使用的工具: 它不是100%准确,但它是相当好的基础 此外,这里还有一个关于转换规则的链接: 这个有点帮助: 编辑: 文件名应为nginx.confnginx不支持.htaccess文件 但是.htaccess文件不好。这是一种将部分apache配置服务器放在文件系统上的方

我正在将一个网站从一个有Apache web服务器的服务器迁移到另一个运行Nginx web服务器的服务器,我想转换.htaccess文件,问题不仅在于语法,还在于文件名,它是否也是“.htaccess”或什么

以下是我使用的工具:

它不是100%准确,但它是相当好的基础

此外,这里还有一个关于转换规则的链接:

这个有点帮助:

编辑:


文件名应为
nginx.conf

nginx不支持.htaccess文件

但是.htaccess文件不好。这是一种将部分apache配置服务器放在文件系统上的方法,并告诉apache在每次请求时检查文件系统,以查看您是否有一些特殊的配置。 如果您是主机提供商并且希望允许用户进行某些web服务器配置,那么.htaccess文件的唯一实际用途就是将配置的一小部分委托给用户

Nginx重新启动时编译Nginx配置。当然,如果您真的不关心信息泄露问题(如用户关闭您的web服务器配置),您可以将几个文件包含在您的web目录中,但是每次请求完成时都要读取的.htaccess与.htaccess具有相同的功能,这并不是nginx的方式

:

你不能这样做。你不应该。如果您需要.htaccess,您可能做错了

看看这里:


文件名为“.htaccess”也??谢谢你的快速回复,但我想知道文件名是否也应该是“.htaccess”或其他名称?文件名将是nginx.conf,下面是一个示例:但也许你仍然可以使用.htaccess并告诉服务器使用它,但因为“代码”如果不同,我建议不要使用.htaccess以避免混淆Thaaaaaanks,我可以将文件放在我想要控制访问权限的目录中吗?你的意思是在不同的文件夹中有多个.htaccess?这不是一个好答案-如果你使用共享主机(如Wordpress博客),你只是一个客户;无法重新编译nginx。是的,按目录配置不是一个好主意,但是当你处于食物链的末端时,并不总是可以挑剔。@PeterFlynn这是事实,我没有写Nginx文档,你也不会有按目录配置的支持,可能包括来自服务器或位置范围的配置文件,但这可能会使Nginx进程崩溃,因此主机可能会避免这种情况。似乎Nginx不是为这些任务而设计的,仅此而已。如果你把一个.htaccess文件放在那里,它将不会被Nginx读取。@regilero宾果。Nginx不是为共享托管场景而设计的。也不应该这样:共享托管要求每个用户运行自己的HTTP服务器,该服务器被反向代理,至少在您需要任何安全性时是这样。@PeterFlynn如果您使用共享托管,那么您就不关心性能或安全性,可以坚持使用Apache。如果您真的在意,那么您将购买一个VPS,这意味着您可以完全控制Nginx配置。@Demi完全正确。但在现实世界中™ 最终用户不是具有修改Nginx配置技能的系统工程师。基本上,他们得到的是他们花钱买的东西:-)该链接指向的是有一个他们没有解决方案的无关问题的人。检查:
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;      
}