繁体   English   中英

Apache mod_rewrite-如何从URL隐藏$ _GET vars

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM