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

时间:2017-01-12 03:02:38

标签: apache mod-rewrite

我认为这是一个非常直截了当的问题,但我似乎无法找到答案。

我有一个像拉链一样读取的页面: http://blahblah.com/searchbyzip/?90036

然后index.php文件将zip作为查询读入并使用PHP代码,操作值...

我希望用户输入相同的网址,但没有问号。因此,他们应该键入并查看以下内容: http://blahblah.com/searchbyzip/90036

我知道有一种方法可以在.htaccess文件中重写。但是,我对Apache重写并不十分精通。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您可以在.htaccess

中执行此操作
RewriteEngine on
RewriteRule ^searchbyzip/(\d+)$ searchbyzip/?$1

如果您需要传递任何查询字符串,请在规则末尾添加[QSA],前面加一个空格。它认为有效的" zip"是任意数字的数字。如果这应该以某种方式改变,请告诉我。

接受a-z(不区分大小写),数字,下划线或破折号的版本将是:

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