通过单独的文件夹和index.html文件或.htaccess中的规则创建漂亮的URL

通过单独的文件夹和index.html文件或.htaccess中的规则创建漂亮的URL,.htaccess,nanoc,pretty-urls,static-site,.htaccess,Nanoc,Pretty Urls,Static Site,我有一个由nanoc生成的静态站点(html+css)。 它在Apache下工作 我想在结尾使用漂亮的url而不是.html后缀。像这样: http://domain.ru http://domain.ru/page/page1/ http://domain.ru/page/page2/ 而不是 http://domain.ru/index.html http://domain.ru/page/page1.html http://domain.ru/page/page2.html 因此,

我有一个由nanoc生成的静态站点(html+css)。 它在Apache下工作

我想在结尾使用漂亮的url而不是.html后缀。像这样:

  • http://domain.ru
  • http://domain.ru/page/page1/
  • http://domain.ru/page/page2/
而不是

  • http://domain.ru/index.html
  • http://domain.ru/page/page1.html
  • http://domain.ru/page/page2.html
因此,第一种方法是创建名为page1和page2的单独文件夹,并将其放置在index.html文件中,其中包含相应的内容。当客户请求时:

已加载文件page1/index.html

第二种方法是采用这样的文件结构:

页面(文件夹)
-page1.html(文件)
-page2.html(文件)

并在站点根目录中为.htaccess文件创建规则:

重新启动引擎
重写cond%{SCRIPT_FILENAME}-d
重写cond%{SCRIPT_FILENAME}-f
重写规则^(+)/$/$1.html

所以,问题是哪种方式更好?可能会有一些额外的使用成本 重写规则还是陷阱?对于静态生成的站点,可能有一些很好的实践

附言: 以任何方式使用.htaccess文件:我需要打开utf-8编码,启用404错误处理,不允许浏览文件夹


感谢并为糟糕的英语道歉:)

我更喜欢在目录中使用
index.html
,因为它是独立于服务器的。我认为没有理由不这样做。

同意。这还意味着,如果您需要一些简单但动态的东西,您可以在服务器上启用PHP,并在其中放置一个
index.PHP
,它就可以正常工作了™ :)谢谢我是用单独的文件夹做的。此外,它还提供了一个可能的地方,一些页面相关的资源(如图片的例子)在这个文件夹中。