【问题标题】:filesmatch htaccess convert to nginx (on plesk)filesmatch htaccess 转换为 nginx(在 plesk 上)
【发布时间】:2017-04-11 21:34:20
【问题描述】:

我的旧服务器在 htaccess 文件中有这个:

ForceType 应用程序/x-httpd-php 文件匹配>

我有一个度假村 php 文件(没有 php 扩展名)... 所以文件是 domain.com/resort/param1/param2

我正在努力为 nginx 做同样的工作......

我已经尝试过这些项目,但没有一个工作:

位置 = /度假村/ {

  • try_files $uri /resort.php;

  • try_files $uri $uri/ @extensionless-php;

  • try_files $uri $uri/ $uri.html $uri.php?$query_string;

  • try_files $uri $uri/ /resort.php$is_args$args;

  • 最后重写 ^(.*)$ /resort.php;

    }

那么当这个 url 在浏览器中时,我如何将度假村文件作为 php 执行: domain.com/resort/param1/param2.php

谢谢!

PS。会喜欢一些页面/资源/教程,为不了解 nginx 的人解释“apache to nginx”:)

我去过 nginx 网站,但 IMO,我需要知道的比我做的更多,才能弄清楚或理解 nginx 网站在说什么。

更新: 我认为这很接近,但仍然无法正常工作:(

这是网址:domain.com/resort/city/state.php

这里是指令:

location ~ /resort/ {
     rewrite ^/resort/(.*)/(.*) /resort/$1/$2 break;
}

【问题讨论】:

  • 仅供参考。我在 plesk 服务器上,并将其添加到“附加 nginx 指令”部分......所以我想我只需要知道/添加正确的位置部分和正确的 try_files/rewrite 部分。跨度>
  • 我得到错误:17938#0: *92491 FastCGI 在标准错误中发送:“访问脚本'/var/www/vhosts/domain.com/httpdocs/resort'已被拒绝(请参阅security.limit_extensions)" 同时从上游读取响应头 security.limit_extensions = FALSE

标签: php .htaccess nginx


【解决方案1】:

这对我有用:

location ^~ /resort/ {
      try_files $uri $uri/ /resort.php; }

【讨论】:

    【解决方案2】:

    要像 PHP 文件一样执行没有 .php 扩展名的文件,您需要复制处理这些类型请求的 location 块。

    它看起来像这样:

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass ...;
        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }
    

    要使用位于/resort 的 PHP 文件来处理 URI /resort/param1/param2,您可以使用类似的东西:

    location ~ ^/resort/ {
        include fastcgi_params;
        fastcgi_pass ...;
        fastcgi_param SCRIPT_FILENAME  $document_root/resort;
    }
    

    请参阅 this document 了解 location 语法。

    【讨论】:

    • 谢谢 Richard... 1) 喜欢你提供的链接 :) 2) talk.plesk.com/threads/… == 这告诉我我不需要使用 include 或 fastcgi 行????我正在努力让它工作:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2017-08-02
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多