如何从URL中删除所有.html Nignx

时间:2017-08-20 12:21:17

标签: nginx url-rewriting

我是Nginx的新用户,我需要删除网址中显示的所有* .html扩展程序,例如http://mywebsite.com/events.html/beauty-must-haves.html

我已经尝试了很多解决方案来解决这个问题,但无法修复,任何人都可以帮助我解决这个问题。这些都不是硬编码页面,它在运行时生成以下链接无法帮助解决它。

how to serve html files in nginx without showing the extension in this alias setup

我需要它是SEO友好的,例如http://mywebsite.com/events/beauty-must-haves

提前完成。

2 个答案:

答案 0 :(得分:0)

以下代码让我了解了我所寻找的内容,但它没有删除URL中的.html扩展名,只删除了结束扩展名:

rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
rewrite ^/(.*)/$ /$1 permanent;

try_files $uri/index.html $uri.html $uri/ $uri =404;

任何帮助请......?

答案 1 :(得分:0)

以下代码适用于隐藏URL中间的扩展程序,但它重定向两次:

rewrite ^(.+)\.html(/.*)?$ $1$2 permanent; 
rewrite ^/(.*)/$ /$1 permanent; 

try_files $uri/index.html $uri.html $uri/ $uri =404;
  1. 首先,它重定向结尾.html
  2. 其次,它重定向中间.html
  3. 我要求它在一个范围内。任何!dea?