我遇到了问题,或者更好地对如何做有疑问。
让我们解释一下:我有一个类似博客的网站,我在那里写文章,它们会显示在主页上。我希望每次点击文章时,它都会将我重定向到显示文章内容的页面。我用标题,日期,内容等保存数据库中的每篇文章......我的疑问是:我应该为每篇文章创建一个.html文件,还是只创建一个名为" article.php"当我打开它时,它会改变从数据库获取数据的内容吗?
第二个问题:我希望页面的网址根据我点击的文章而改变。例如,我点击了名为"今天和明天"的文章,我希望URL显示为" mysite / today-and-tomorrow /",而不是" mysite / article.php&#34 ;. 我对这个话题有点困惑,所以如果有人能帮助我,我会非常开心。 谢谢你的建议。
我试过了
var link = 'www.example.com/training/product.html';
link.split('.html')[0];
window.history.replaceState( null, null, link );
但它会改变网址,所以几秒钟后会出现原始网址,在我的情况下会出现" mysite / article.php"然后它会在" mysite /今天和明天"中发生变化。我不认为它是正确的。
我也试过
function openArticle(title){
var rightTitle = $(title).text();
rightTitle = rightTitle.toLowerCase();
rightTitle = rightTitle.substring(rightTitle .indexOf(':')+2);
rightTitle = rightTitle.replace(/[^A-Z0-9]+/ig, "-");
event.preventDefault();
window.location.href = title.href + "/" + rightTitle;
}
但是当我点击元素时," article.php"留在网址
答案 0 :(得分:0)
我应该为每篇文章创建一个.html文件,还是只创建一个名为“article.php”的文件,当我打开它时,它会更改从数据库获取数据的内容?
不,你不必。您可以将文章ID作为“query string”传递给“article.php”,它将负责向最终用户提供适当的文章。
我想根据我点击的文章更改页面的网址。例如,我点击了名为“今天和明天”的文章,我希望URL显示为“mysite / today-and-tomorrow /”,而不是“mysite / article.php”。
你正在谈论一个名为“URL重写”的功能,它可以产生很好的效果。有意义的URL。为了实现它,您需要:
mod_rewrite
)。.htaccess
的文件中的原始URL。作为样本How to write htaccess rewrite rule for seo friendly url 我只是试图从技术角度帮助您全面了解您的需求&如你所知,只能在一篇文章中覆盖你所需的信息。