mod_rewrite remove?item =

时间:2016-06-19 09:07:09

标签: .htaccess url mod-rewrite

我想删除"?item ="来自网址。

所以,来自

domain.com/?item=2

domain.com/2

如何简单地删除问号,键和等号?

3 个答案:

答案 0 :(得分:2)

转换

  • /?项目= 2

  • / 2

您可以使用此规则:

RewriteEngine on
#1) externally redirect the request "/?item=numbers" to "/numbers"
RewriteCond %{THE_REQUEST} /\?item=([^\s]+) [NC]
RewriteRule ^ /%1? [L,R]
#2) internally rewrite "/numbers" back to "/?item=numbers"
RewriteRule ^([0-9]+)/?$ /?item=$1 [L]

答案 1 :(得分:1)

您可以像<; p>那样进行重写

[apache]
RewriteEngine On

RewriteRule ^/([0-9]{1})[/]?$ index.php?item=$1

答案 2 :(得分:0)

通常在您的编程语言中,您会在网址栏中写下您想要查看的最终网址,因此domain.com/2,然后在.htaccess文件中,您将使此无法识别的地址被您的程序识别将其转换为domain.com/?item=2

此重定向将完成如下: RewriteRule ^\d+$ index.php?item=$1 [L]

<强> [编辑]

我知道如果我编辑上面的规则是不公平的 - 现在我意识到它不完整哈哈 - 所以我在这里更改它:

RewriteRule ^(\d+)/?$ index.php?item=$1 [L]

我想要添加到接受的答案的唯一方法是,您可以将[0-9]+替换为\d+

相关问题