我已经收到了迁移以Apache托管的旧php编写的现有网站的信息,我将部署到Nginx。
我希望有这样的URL:http://example.com/about.html 要像这样http://example.com/content.php?page=about
执行所以我需要删除前导斜杠并删除html。如果我对特定页面进行硬编码,则下面的配置有效:
location / {
try_files $uri $uri/ /content.php?page=about;
}
但是,无论我是否访问our-company.html或our-services.html,它始终可以为您服务。我不确定我需要替换配置中的“关于”字符串。
答案 0 :(得分:0)
您应该使用rewrite
指令执行实际的翻译。您可以从指定为location
语句的最后一个参数的命名try_files
调用它。
例如:
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)\.html$ /content.php?page=$1 last;
}
有关更多信息,请参见this document。