[英]Apache mod_rewrite - How to hide $_GET vars from url
当我呼叫页面
http://localhost/books-123-name.html?language_id=1
在浏览器中显示以下链接:
http://localhost/books-123-name.html
但将保留值language_id = 1
如何才能做到这一点?
谢谢。
简而言之,你不能。
浏览器在那里需要这些值才能读取它们。
您可以尝试阅读它们,对它们进行处理,然后重定向到不带参数的页面。
或使用POST
。
但更重要的是,为什么呢?
除了GET参数外,还有几种方法可以存储有关请求的信息。 一种是使用cookie,您可以将language_id存储在cookie中。 使用cookie的一种特殊情况是使用会话。 您还可以在POST请求中传递language_id,因为POST参数对用户不可见。 您可能还使用mod_rewrite仍使用GET参数,但使它们更漂亮。
就像jakenoble所说的使用POST
。
或者,也许您可以使用其他网址格式,例如
http://localhost/{human-readable-language}/books-123-name.html
例如http://localhost/en/books-123-name.html
至
http://localhost/books-123-name.html?language_id={languade-id}
例如http://localhost/books-123-name.html?language_id=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.