在我的.htaccess文件中,我有以下代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>
在我的index.php中,我有以下代码:
<?php
$id_1 = isset( $_GET['id'] ) ? rtrim( trim( $_GET['id'] ), '/' ) : 'default';
?>
目前,如果我使用以下格式的网址
http://mydomain.com/directory/name/
modrewrite抓取/ name / as $ id_1
我想更改网址格式以获取第二个$ id_2,如下所示
http://mydomain.com/directory/1/name/
我的问题是如何更改modrewrite和php代码以捕获$ id_1和$ id_2
答案 0 :(得分:1)
RewriteRule ^([^/]+)/?$ index.php?id_1=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id_1=$1&id_2=$2 [L,QSA]
QSA表示query_string_add,所以如果你要求
http://mydomain.com/directory/1/name/?foo=bar 重写引擎将转换为 http://mydomain.com/directory/?id_1=1&id_2=name&foo=bar