【问题标题】:.htaccess replace /?q=bla with /bla [duplicate].htaccess 用 /bla 替换 /?q=bla [重复]
【发布时间】:2017-08-06 18:54:18
【问题描述】:

我已经在整个互联网上寻找这个问题的答案,但它们似乎都不起作用或不是我想要的。我想要的是让我的网站理解http://example.com/asd 意味着http://example.com/?q=asd,同时不更改链接。所以用户会看到http://example.com/asd,但它会是一个GET,背景是?q=asd

基本上,我希望用户被重定向到http://example.com/?q=asd,而不是将他们的地址栏重定向到那个。

例如,http://example.com/asd -> 表示 -> http://example.com/?q=asd,但地址栏看起来像http://example.com/asd

如果您有任何问题,请发表评论。

【问题讨论】:

  • 您也希望 http/ 代替 http:// 吗?如果我错了,请纠正我,但我怀疑这是可能的,http 是一种协议,而不是你可以编辑的东西确定
  • 在 SO 上仅此问题就有大约 674783047659 个答案。你声称,所有这些答案都没有帮助。我们可以问为什么不?为什么我们写的第 674783047660 个答案应该有所作为? (阅读:你没有做作业......
  • 由于堆栈溢出规则,我使用 http/ 而不是 http://,我希望 /asd 为 ?q=asd 而地址栏链接仍为 /asd
  • arkascha 我做了功课我已经尝试了一个多星期,我不确定这是否可能。

标签: javascript php html apache .htaccess


【解决方案1】:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?q=$1 [QSA,L]

【讨论】:

  • 嗯,不确定这是否是个好主意...考虑例如对/foo/bar的请求...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 2012-03-28
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
相关资源
最近更新 更多