【问题标题】:Getting the params in a url but not using question mark获取 url 中的参数但不使用问号
【发布时间】:2012-03-16 10:18:03
【问题描述】:

是否有任何代码可以在网址中插入参数但不使用问号“?”

例如: http://website.com/GR/

在给定的 URL 中,它应该将您定向到 /GR 文件夹。但是没有这样的/GR文件夹,而是GR是基本目录/url“website.com”使用的参数

基本示例是http://www.imgdaddy.com/11M/,并将字母 M 更改为 Z。

【问题讨论】:

  • 您可以使用 .htaccess 文件中定义的 url 重写来实现这种行为。您可以在整个互联网上找到有关此主题的更多信息。一个很好的介绍例如在这里javascriptkit.com/howto/htaccess.shtml。一旦你尝试了一些代码并遇到了任何问题,你应该开始一个新的问题,其中包含你迄今为止尝试过的代码。注意:并非所有虚拟主机都支持使用 .htaccess。

标签: php url


【解决方案1】:

.htaccess 文件中,

RewriteRule ^(.+)/$ /?V=$1 [R]

会将http://site.com/GR/ 转换为http://site.com/?V=GR

您的问题中没有足够的信息来非常具体,因为您没有说明应该如何使用该参数。 Apache provide more information.

【讨论】:

  • 它看起来像这样。我试过了,它最后创建了一个 ?V=GR 。但我想要的是使 URL 保持不变。
  • 不要在末尾使用[R],因为这是强制显式重定向的原因。这些选项在 Apache 文档的链接中进行了解释。例如,您可能需要NCL(或两者,或其他组合)。
  • 谢谢,但 CSS 和其他图像是指该文件夹。例如 site.com/tse/,网页是从 site.com 加载的,但所有的 css、图像和 javascript 都链接到 /tse 文件夹。我试过 NC、L 和 R。
  • 将外部文件放在一个静态位置,比如site.com/css/*.csssite.com/images/*.jpg,然后使用这些url 引用它们(/css/*.css/images/*.jpg 带有初始反斜杠)。但这超出了问题的范围。
【解决方案2】:

听起来你想实现很多 PHP 框架所做的事情,例如 http://codeigniter.com/user_guide/general/urls.html

这种解决方案的操作原理是,对于向您的网站发出的每个 URI 请求,您都有一个通用的控制器类。这是在codeigniter中通过web.com/index.php/GR等地址实现的,如上面的链接所示。你可以使用 .htaccess 规则来重写它,这样 index.php 部分就被省略了,但是你可以拥有一个漂亮友好的 URI 来共享,而不需要 GET 参数。

【讨论】:

  • 这里的问题是,CSS 被删除了。我该怎么办?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 2017-07-01
  • 2010-09-24
  • 2015-04-18
  • 2016-05-09
  • 2022-01-07
  • 2015-04-11
相关资源
最近更新 更多