.htaccess无需在地址栏中添加.html,也无需为所有页面创建新文件夹

时间:2017-05-09 03:01:20

标签: .htaccess optimization

我确信通过任何努力,我都可以弄清楚如何在.htaccess文件中完成这项工作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 

但是,这会比仅在每个文件夹中创建一个带有新index.html的文件夹更有效吗?

对我而言,我试图实现的真正最终结果是不要求某人输入:

skypodstudios.com/solar.html

我宁愿让它足够好只需输入:

skypodstudios.com/solar

两者似乎都能实现这一点,我只是想知道哪个更有效率,或者是否有人不满意?

1 个答案:

答案 0 :(得分:0)

使用文件夹而不是文件是一种不好的做法。您不需要为您创建的每个html文件创建一个文件夹,它只会引起混乱。使用您指定的.htaccess解决方案也不是最佳解决方案,因为它会强制您将所有html文件放在一个文件夹中(如果使用其他文件类型则不会有用)。 我建议您使用以下其中一种:

对于包含少量文件的小项目,请根据URI细分包含HTML文件。您可以通过告诉.htaccess将所有url查询传递给索引文件(通常是index.php),然后该文件分解URL段并从正确的文件夹中检索正确的文件。

对于包含数百个文件的大项目,请问自己是否一遍又一遍地使用相同的模板(文件结构)。如果你的项目是博客或商店,那么答案是肯定的。如果不是包含文件,则最好将数据存储在数据库中,然后使用数据库查询通过index.php文件检索当前页面的数据。