允许'假冒'通过Nginx在子目录中的URL

时间:2018-06-09 17:03:10

标签: php nginx url-rewriting nginx-location

我已经做了很多Stackoverflow搜索类似于我的解决方案,但我似乎找不到它,导致我问这个问题! 我相信一些与虚荣心灵相似的东西。可能是相关的,但同样,也许我错过了一些东西。这是我的故事:

我在干净的Ubuntu安装上手动安装了Nginx,PHP。 我将我的项目文件保存在默认的/ www / html文件夹中。

例如,我有一个团队文件夹,其中包含一个index.html文件,以及一些由AJAX通过该index.html访问的PHP文件。无论如何,我希望能够在没有错误或问题的情况下实现以下URL:

示例1:mydomain.com/teams或mydomain.com/teams/

示例2:mydomain.com/teams/france或mydomain.com/teams/france /

示例3:mydomain.com/teams/panama或mydomain.com/teams/panama /

^所有这些网址都应解析并显示位于以下内容的默认index.html文件:* / teams / index.html。 基本上我使用它们作为推荐人。

因此,理想情况下,它们是浏览器URL栏中显示的URL,但在后端,它将作为查询字符串传递:

例如:mydomain.com/teams/france - > mydomain.com/teams?referrer=france

所以,我相信这样的事情应该是相当直接的,但我的以下代码似乎并没有很好地运作。

    location ~ /teams/^(.*)$ {
    rewrite ^(.*)$ ?referrer=$1 last;
    }

至少在我的脑海里,这应该重写我在/ team /之后提出的任何内容。但是我想允许网址:mydomain.com/teams/france或者带有斜杠的法国。

显然,我希望不必为将来创建的每个子目录明确编写位置规则,例如mydomain.com/competition/epl,以允许相同的行为,但如果我必须,我必须!

感谢这些人的任何帮助! :)

0 个答案:

没有答案