我已经做了很多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,以允许相同的行为,但如果我必须,我必须!
感谢这些人的任何帮助! :)