需要有关重写规则的帮助

时间:2012-10-16 13:22:01

标签: apache .htaccess mod-rewrite url-rewriting

我的应用使用的实际网址是:

http://site.com/gallery?id=23 但我希望能够实现与

相同的目标

http://site.com/topic/place/new-delhi/gallery/23 我没有重写规则的经验,我该如何设置呢?

其中'place'和'new-delhi'是两个动态值。 这可能吗?感谢。

2 个答案:

答案 0 :(得分:0)

你是什么意思'place'和'new-delhi'是两个动态值

规则是:

RewriteRule /topic/([a-z-]*)/([a-z-]*)/gallery/([0-9]*) /gallery?id=$3 [R=301]

使用此规则,地点存储在$ 1中,new-delhi存储在$ 2

你可以像这样得到它们

RewriteRule /topic/([a-z-]*)/([a-z-]*)/gallery/([0-9]*) /gallery?var1=$1&city=$2&id=$3 [R=301]

如果您转到http://site.com/topic/place/new-delhi/gallery/23,系统会将您重定向到http://site.com/gallery?var1=place&city=new-delhi&id=23

答案 1 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^topic/[^/]+/[^/]+/gallery/([^/]+)/?$ gallery?id=$1 [L,QSA,NC]