我的html页面网址 www.example.com/training/product.html。我想更改我的网址,例如 www.example.com/training/product。是否可以使用javascript或Jquery?怎么样?
答案 0 :(得分:4)
很抱歉,由于声誉限制,我无法发表评论。
正确的解决方案尚未出现在评论中。
window.history.replaceState()
完成这项工作。
我愿意:
var link = 'www.example.com/training/product.html';
link.split('.html')[0];
window.history.replaceState( null, null, link );
要获得更受尊重的解决方案,请转到How to reliably get the filename without the suffix in javascript?
答案 1 :(得分:1)
你可以通过使用MVC来做到这一点。这不能通过Javascript完成。这需要在服务器端完成。
答案 2 :(得分:1)
使用javascript
可以达到以下目的:
var newURL = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname;
if (a.indexOf('html') > -1) { //Check of html String in URL.
url = url.substring(0, newURL.lastIndexOf("."));
}
如果您正在查看服务器级别更改,则以下是.htaccess文件的规则
RewriteEngine On
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]
# Redirect external .html requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.html([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.html$ http://example.com/folder/$1 [R=301,L]
# Resolve .html file for extensionless html urls
RewriteRule ^([^/.]+)$ $1.html[L]
答案 3 :(得分:0)
使用Jquery尝试: -
var url = "www.example.com/training/product.html";
url = url.substring(0, url.lastIndexOf("."));