我有 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 具有相应内容的文件中。当客户请求时:
http://domain.ru/page/page1/ 加载文件 page1/index.html
第二种方法是拥有这样的文件结构:
page(文件夹)
- page1.html(文件)
- page2.html(文件)
并为站点根目录中的 .htaccess 文件创建规则:
RewriteCond %{SCRIPT_FILENAME}上的
RewriteEngine !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/$ /$1.html
那么,问题是哪种方式更好?使用重写规则或陷阱可能会产生一些额外的成本吗?对于静态生成的网站,可能有一些针对此问题的良好做法。
PS:我以任何方式使用 .htaccess 文件:我需要打开 utf-8 编码,启用 404 错误处理,禁止浏览文件夹
感谢和抱歉英语不好:)