2013-08-01 104 views
1

我想造成这个URL重写:URL重写和正则表达式

test.php?site=hi --> www.domain.com/hi 
test.php?site=hi&id=1 --> www.domain.com/hi/1 
test.php?site=hi&cmd=test --> www.domain.com/hi/test 
test.php?site=hi&cmd=test&id=1 --> www.domain.com/hi/test/1 

我已经试过这一点,但它不工作。我是新的正则表达式,所以可能有更正的地方:

RewriteRule ^([a-zA-Z]+)/?+([0-9]+)?/? test.php?site=$1&id=$2 
RewriteRule ^([a-zA-Z]+)/?+([a-zA-Z]+)?/?+([0-9]+)?/? test.php?site=$1&cmd=$2&id=$3 

RewriteRule应该如何?

在此先感谢。

回答

1

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_ROOT目录:

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

RewriteRule ^([^/]+)/([a-z]+)/(\d+)/?$ /test.php?site=$1&cmd=$2&id=$3 [L,NC,QSA] 

RewriteRule ^([^/]+)/([a-z]+)/?$ /test.php?site=$1&cmd=$2 [L,NC,QSA] 

RewriteRule ^([^/]+)/(\d+)/?$ /test.php?site=$1&id=$2 [L,QSA] 

RewriteRule ^([^/]+)/?$ /test.php?site=$1 [L,QSA] 
+0

运行完美,谢谢! – hskrijelj

+0

不客气,很高兴它解决了。 – anubhava