2014-10-09 48 views
0

我有一个页面有多个参数。是否有可能使用htaccess或使用PHP更改下面的网址。使用不同的参数名称和(或)值htaccess重定向

http://example.com/result.php?year=2012 
Change To 
http://example.com/year-2012 

http://example.com/result.php?category=naturals 
Change To 
http://example.com/category-naturals 

http://example.com/result.php?year=2012&category=naturals 
Change To 
http://example.com/year-2012/category-naturals 

回答

1

您可以使用.htaccess来做到这一点。尝试是这样的:

RewriteRule ^year-(.*) result.php?year=$1 [PT] 
RewriteRule ^category-(.*) result.php?category=$1 [PT] 
RewriteRule ^year-(.*)/category-(.*) result.php?year=$1&category=$2 [PT] 
+0

解决方案正在完善。但2个参数的解决方案并不完美。它需要作为单个参数,并且当我打印请求值时我会遵循。 Array ( [year] => 2012/category-2013 ) 我必须学习正则表达式 – RajivRisi 2014-10-09 13:21:28

0

你可以在你的根的.htaccess有下列规则:单参数

RewriteRule ^year-([^/]+)/?$     result.php?year=$1    [NC,L,QSA] 
RewriteRule ^category-([^/]+)/?$    result.php?category=$1   [NC,L,QSA] 
RewriteRule ^year-([^/]+)/category-([^/]+)/?$ result.php?year=$1&category=$2 [NC,L,QSA]