繁体   English   中英

将重写规则apache转换为nginx

[英]converting rewrite rules apache to nginx

我有一个php symfony项目,我在其中删除apache作为服务器,并出于性能原因使用nginx。 在我的virtualhost.conf中没有,我有以下设置

<Directory "/usr/share/myvirtualhost/web">
    Require all granted
    Options -Indexes +FollowSymLinks
    AllowOverride None
    Allow from All
    <IfModule mod_rewrite.c>
        RewriteEngine On

        RewriteCond %{HTTP:X-DEVELOP-DOC-TEST} ^running$
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app_doctest.php [QSA,L]

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
    </IfModule>
</Directory>

现在我不知道如何将其转换为适当的nginx重写规则,尤其是

RewriteCond %{HTTP:X-DEVELOP-DOC-TEST} ^running$

我正在检查是否设置了标头,以将请求转发到app_doctest.php

我如何才能从这里走得更远?

因此,这里有一些正确的搜索链接。

首先是: 有关如何以正确的方式从apache转换内容的完整文档

例如,这意味着您将不使用重写,而使用try_files

然后,对于特定的标头测试,您可以使用http_表单,您的X-DEVELOP-DOC-TEST标头应位于http_x_develop_doc_test变量中。 避免if结构,而不喜欢map等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM