【问题标题】:how to prevent changed url in the browser bar from reflecting in the website content?如何防止浏览器栏中更改的网址反映在网站内容中?
【发布时间】:2013-10-15 10:18:59
【问题描述】:

如何防止浏览器栏 url 的变化反映在网站内容的 URL... 情况是这样的,

在我当前的网络应用中,我正在使用这个

$this->createUrl(Yii::app()->controller->id ."/". Yii::app()->controller->action->id, $params)

生成超链接的href...现在的问题是, 当我在浏览器栏中输入时,例如

www.mysite.com/blahblahblah/subcategory/c1

blahblahblah,也反映到网页内容超链接,因为我传递给 createUrl 函数的 Yii::app()->controller->id...任何解决方法?...,什么我想发生的是,无论通过浏览器栏在控制器名称的位置输入什么字符串,它都不会反映在网页内容超链接中..

那怎么办?

【问题讨论】:

  • 您对服务器有控制权吗?通常可以为此使用重写规则;或者你使用POST 而不是GET 让服务器知道你想要什么。
  • 我无法控制服务器..有解决办法吗?这样在控制器 ID 位置输入的任何内容都不会反映在网页内容中?
  • 所以你希望链接是www.mysite.com/subcategory/c1
  • 基于我的第一篇文章,链接反映了在浏览器栏中输入的任何内容,因为 $this->createUrl() 的 $route 参数值为 Yii::app()->controller->id . "/" . Yii::app()->controller->action->id ,因此假设例如我输入的 blahblahblah 作为控制器
  • 那么,有什么办法可以解决这个问题吗?

标签: yii


【解决方案1】:

答案是,我从 URL 中获取 ID,创建了一个简单的 Helper 函数,并使用它来返回类别/子类别的正确值,并将其输出到视图源中,无论通过浏览器栏进行什么更改

【讨论】:

    猜你喜欢
    • 2011-11-14
    • 2016-03-21
    • 2013-06-04
    • 2021-03-06
    • 2017-05-20
    • 1970-01-01
    • 2016-01-02
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多