【问题标题】:Change url based on the clicked link (Javascript html)根据点击的链接更改 url (Javascript html)
【发布时间】:2017-03-03 00:13:33
【问题描述】:

我遇到了问题,或者最好对如何做表示怀疑。

让我们解释一下:我有一个类似于博客的网站,我在其中写文章,它们显示在主页上。我希望每次单击文章时都会将我重定向到显示文章内容的页面。我将每篇文章的标题、日期、内容等保存在数据库中……我的疑问是:我应该为每篇文章创建一个 .html 文件还是只创建一个名为“article.php”的文件,当我打开它时,它改变从数据库中获取数据的内容?

第二个问题:我希望页面的 url 根据我点击的文章而改变。例如,我单击名为“Today and Tomorrow”的文章,我希望 URL 显示为“mysite/today-and-tomorrow/”,而不是“mysite/article.php”。 我对这个话题有点困惑,所以如果有人可以帮助我,我会很高兴。 谢谢指教。

我试过了

var link = 'www.example.com/training/product.html'; link.split('.html')[0]; window.history.replaceState( null, null, link );

但它会动态更改 URL,因此在几秒钟内它会显示原始 URL,在我的情况下它显示为“mysite/article.php”,然后它会更改为“mysite/today-and-tomorrow”。我不认为这是正确的。

我也试过

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”仍保留在 url 中

【问题讨论】:

  • 在带有 php 的标签打印动态 url 的 href 中
  • 你试过什么?问题应该有一个具体的问题,并显示你到目前为止所做的尝试。目前你的问题对于stackoverflow的格式来说太宽泛了。

标签: javascript php jquery html blogs


【解决方案1】:

我应该为每篇文章创建一个 .html 文件还是只创建一个名为“article.php”的文件,当我打开它时,它会更改从数据库获取数据的内容?

不,您不必这样做。您可以将文章 ID 作为“query string”传递给“article.php”,它将负责为最终用户提供正确的文章。

我希望页面的 url 根据我点击的文章而改变。例如,我单击名为“Today and Tomorrow”的文章,我希望 URL 显示为“mysite/today-and-tomorrow/”,而不是“mysite/article.php”。

您正在谈论一种称为“URL 重写”的功能,它可以生成漂亮且有意义的 URL。为了实现它,您需要:

  1. 以一种可以将文章 ID 映射到其标题的方式设计您的数据库。(用于创建别名)
  2. 您必须在您的网络服务器中启用 URL 重写。 (例如,如果您使用 Apache 作为 Web 服务器,you need to enable mod_rewrite)。
  3. 您必须在名为.htaccess 的文件中嵌入用于映射和路由漂亮URL 到原始URL 的规则。作为样本How to write htaccess rewrite rule for seo friendly url

我只是想帮助您从技术角度全面了解您正在寻找的内容,正如您所知,仅在一篇文章中就不可能涵盖您所需的信息。

【讨论】:

  • 感谢您的回复。我在 apache 的 httpd.conf 文件中启用了 mod_rewrite,但我现在该怎么办?
  • 您的 article.php 是否处理文章?代码是谁写的?
  • article.php 只包含被点击的文章内容。我在 index.php 中显示了所有文章的标题。所有的代码我都写好了
  • @Andrea 尼斯。所以,现在阅读[此答案](stackoverflow.com/questions/812571/how-to-create-friendly-url-in-php#answer-812578)。它将帮助您将当前的“基于 article.php 的 URL”映射到友好的 URL。
  • @Andrea some parts of this article may help you 现在,您剩下的唯一任务就是创建 .htaccess 文件。现在尽量保持简单
猜你喜欢
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多