2010-09-02 70 views
0

$ _GET瓦尔当我调用页面Apache的mod_rewrite的 - 如何隐藏网址

http://localhost/books-123-name.html?language_id=1 

在浏览器中出现以下链接:

http://localhost/books-123-name.html 

,但将保持值LANGUAGE_ID = 1

这怎么办?

谢谢。

+0

似乎出现的最大问题是为什么?安全?友好的网址?踢和咯咯? – 2010-09-02 09:37:56

回答

0

有几种方法可以存储除GET参数以外的请求信息。一种是使用cookie,你可以将language_id存储在cookie中。使用cookie的特例是使用会话。您也可以在POST请求中传递language_id,因为POST参数对用户是不可见的。你也可以使用mod_rewrite来继续使用GET参数,但使它们更漂亮。

0

总之,你不能。

浏览器需要那些值才能读取它们。

您可以尝试阅读它们,对它们进行操作,然后重定向到不带参数的页面。

或使用POST

但更重要的是,为什么?

+0

>为什么?主要是安全原因,或者在某些情况下使其更类似于桌面应用程序(漂亮) – vPJ 2010-09-02 09:16:42

+0

即:Wordpress。 – vPJ 2010-09-02 09:29:58

+0

如果是出于安全原因,那么OP的网站/应用程序出现问题。如果是友好的网址,那么OP就会提出错误的问题,或者至少以非常糟糕的方式提出问题。在获得解决方案之前,我们需要来自OP的更多信息。 – 2010-09-02 09:38:56

0

jakenoble表示使用POST

或者你可以使用不同的URL格式,如:

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