简体   繁体   English

使用.htaccess和Apache使用两个参数重写URL

[英]URL rewriting with two parameters using .htaccess and Apache

I have below code in .htaccess: 我在.htaccess中有以下代码:

Options -Indexes

RewriteEngine on

RewriteRule ^category/([a-zA-Z0-9-/]+)/page/([0-9]+)/{0,1}$ themes/tema_2/category.php?slug=$1&page=$2 [NC,L,QSA]

I have problem with second parameter "page"... When I do $_GET['slug'] i got something like this: fudbal/page/2 if my url is like this: http://exmpl.com/category/fudbal/page/2 . 我对第二个参数“页面”有问题...当我执行$_GET['slug']我得到了这样的信息: fudbal/page/2如果我的网址是这样的: http://exmpl.com/category/fudbal/page/2 : fudbal/page/2 http://exmpl.com/category/fudbal/page/2

So $_GET['slug'] returns all after category/ like it's slug. 因此, $_GET['slug']category/之后返回所有内容,就像它一样。

I need to achieve this: When I echo $_GET['slug'] to echo fudbal and When I echo $_GET['page'] to echo 2 . 我需要实现这一点:当我回显$_GET['slug']fudbal以及当我回显$_GET['page'] fudbal 2

You need to tweak your regex to fix your issue like this: 您需要调整正则表达式来解决您的问题,如下所示:

Options -Indexes
RewriteEngine on

RewriteRule ^category/([^/]+)/?$ themes/tema_2/category.php?slug=$1 [NC,L,QSA]
RewriteRule ^category/([^/]+)/page/(\d+)/?$ themes/tema_2/category.php?slug=$1&page=$2 [NC,L,QSA]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM