2012-04-26 93 views
0

我想重写一些URL,但不知道如何去做我需要的。我也很难在网上找到答案,因为它不仅仅是一个简单的重写,我不知道要搜索的术语。用PHP重写URL和htaccess

所以我可以使用一些帮助,试图做到这一点,并想知道是否有一个用于这种类型的东西的术语。

基本上,我想要把这个:

http://www.domain.com/search.php?search_type=news&searchterms=2012-04-23

这个

http://www.domain.com/search/news/2012-04-23

但有search.php中脚本仍然工作一样,并得到变量,它需要。

+2

请参阅[mod-rewrite]标签和[tag-wiki](http://stackoverflow.com/tags/mod-rewrite/info );特别是[示例6](http://stackoverflow.com/questions/3655893/rewriting-an-arbitrary-number-of-path-segments-to-query-parameters#3683855) – mario 2012-04-26 19:08:43

+0

这很容易。就像@mario说的。 – 2012-04-26 19:11:20

回答

2

试试这个:

RewriteEngine on 
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?search_type=$1&searchterms=$2 [L,QSA] 

[^/]+的非斜线字符序列匹配。 QSA选项允许像/search/foo/bar?baz=1这样的URL也可以使用。

0

如果您正在寻找要搜索的术语,请尝试“ModRewrite”或“Rewrite Rules”。

我不会给出确切的答案,但这里有一个随机类似的规则我有躺在附近,可以帮助你理出头绪:

RewriteRule ^(.*/)help/([0-9]*?)/(.*)(/?)$ /help.php?category=$2 [QSA,L]