这可能看起来像服务器问题,但我认为它更多地依赖于SF。
长话短说,我有一个Nginx服务器,它会自动将.html聚合到后端的我的页面中,以便用户只看到:
mysite.com/somepage
而不是
mysite.com/somepage.html
所以在我的代码中,我的链接看起来像这样:
<ul>
<li class="current"><a href="somePage"></a></li>
<li class="menu"><a href="somePage2"></a></li>
</ul>
然后nginx发挥其魔力并秘密地添加.html。
当然,这在我的开发环境(CodeAnywhere.com控制的环境)中不起作用,所以为了工作,我必须像这样添加扩展名:
<ul>
<li class="current"><a href="somePage.html"></a></li>
<li class="menu"><a href="somePage2.html"></a></li>
</ul>
由于我每次想要进行制作并在我拉动副本并想要编码时添加.html时手动更改这些href,因此必须有一个简单的方法。
无论如何,我可以解决使用HTML或JS ?或者任何其他开箱即用的想法......将不胜感激。
答案 0 :(得分:2)
在codeanywhere
文件资源管理器中,您可以将重写指令添加到.htaccess
文件中:
此信息来自codeanywhere:
- 如果文件资源管理器中未显示
.htaccess
文件,则必须将服务器添加为SFTP。- 如果您要编辑
醇>.htaccess
个文件,请确保您的服务器支持该文件并确保您添加了正确的服务器类型。
在.htaccess
文件中尝试添加此规则:
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
应该将foo.html
重写为foo
↳More info here关于.htaccess
重写规则。
答案 1 :(得分:0)
将其放入临时script
标记中:
document.addEventListener("click",function(event){
if(event.target.tagName=="A"){
if(!event.target.href.endsWith(".html"))event.target.href+=".html";
}
});
<a href="something">hey</a>