在Apache中设置路径而不是查询

在Apache中设置路径而不是查询,apache,mod-rewrite,Apache,Mod Rewrite,我有一个我认为非常直截了当的问题,但我似乎找不到答案 我有一个页面是这样的: 然后那里的index.php文件作为查询读取zip文件,并使用php代码对值进行操作 我希望用户输入相同的URL,但不带问号。因此,他们应该键入并查看以下内容: 我知道有一种方法可以在.htaccess文件中进行重写。然而,我不是很精通Apache重写。我该怎么做呢?您可以在中这样做。htaccess: RewriteEngine on RewriteRule ^searchbyzip/(\d+)$ searchb

我有一个我认为非常直截了当的问题,但我似乎找不到答案

我有一个页面是这样的:

然后那里的index.php文件作为查询读取zip文件,并使用php代码对值进行操作

我希望用户输入相同的URL,但不带问号。因此,他们应该键入并查看以下内容:


我知道有一种方法可以在.htaccess文件中进行重写。然而,我不是很精通Apache重写。我该怎么做呢?

您可以在
中这样做。htaccess

RewriteEngine on
RewriteRule ^searchbyzip/(\d+)$ searchbyzip/?$1
如果需要传递任何查询字符串,请在规则末尾添加
[QSA]
,前面加空格。它将有效的“zip”视为任意位数。如果这应该以某种方式改变,请让我知道

接受A-z(不区分大小写)、数字、下划线或破折号的版本为:

RewriteEngine on
RewriteRule ^searchbyzip/([a-zA-Z0-9_-]+)$ searchbyzip/?$1

谢谢成功了。我有类似的东西,但不完全是。。。如果我想让它接受非数字呢?我添加了一个版本来演示这个选项。您可以添加到character类中,但请记住将连字符保留在末尾或转义它。