【问题标题】:How to hide query strings from url?如何从 url 隐藏查询字符串?
【发布时间】:2016-06-02 09:05:27
【问题描述】:

所以我的链接是这样的:

http://abcdefgh.com/index?site=XXXX

http://abcdefgh.com/index?category=YYYY

http://abcdefgh.com/index?category=YYYY&site=XXXX

我想隐藏查询字符串,用户应该查看以下链接:

http://abcdefgh.com/index/site/XXXX

http://abcdefgh.com/index/category/YYYY

http://abcdefgh.com/index/category/YYYY/site/XXXX

我确实尝试了以前关于同一主题的问题的所有答案,但它不起作用。帮助我使用 .htaccess 代码

【问题讨论】:

  • 你尝试了什么,效果如何?
  • 你应该使用 mod_rewrite (如果你使用的是 apache) (httpd.apache.org/docs/current/mod/mod_rewrite.html)
  • @Ivar 他试图找出代码而不是做最少的研究。效果是有人告诉他他应该写在 .htaccess 中,所以他完善了他的问题,直到有人为他进行研究。
  • 我试过这个 RewriteRule ^index/(.*)/?$ index?category=$1 [NC,L]
  • 我用这个 RewriteRule ^([^\.]+)$ $1.php [NC,L] 来隐藏 .php 并且效果很好,但是我无法隐藏查询字符串

标签: php mysql .htaccess query-string


【解决方案1】:

您可以在您的 .htaccess 中使用此代码作为您的 URL http://abcdefgh.com/XXXX

RewriteEngine On
DirectoryIndex index.php

## RewriteCond Set here
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?site=$1    [QSA,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2013-02-16
    • 2011-08-26
    • 2018-09-01
    • 2023-03-05
    相关资源
    最近更新 更多