带有多个查询和 PHP 引导程序的漂亮 URL


pretty urls with multiple queries and a php bootstrap

您好,我在通过引导程序获取 url 查询并显示页面时遇到问题。所以我想采取

site.com?page=user-verify&username=name&hash=12345 

并得到

site.com/user-verify/name/12345

首先,我通过我的索引路由所有请求.php像这样使用 htaccess

Options +FollowSymLinks -MultiViews -Indexes
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /admin/index.php?page=$1&username=$2&hash=$3 [QSA]

然后我的索引查看查询并获取页面

if (isset($_GET['page'])) 
{ 
    $query = $_GET['page']; 
} 
elseif (!isset($_GET['page'])) 
{ 
    header('location:home');
}
switch ($query) 
{
    case 'home':
        drawPage(
            'home.php',
            'Admin Control Panel',
            'This is the homepage description'
        );
        break;
    case 'register':
        drawPage(
            'register.php',
            'Register Page', 
            'This is the register page description'
        );
        break;
    case 'user-verify':
        drawPage(
            'user-verify.php',
            'Verify User', 
            'This is the register page description'
        );
        break;
    default:
        var_dump($query);
    break;

当我添加 &用户名=name 时,网址变得只是用户验证。如果我添加/name,网址将成为用户验证/名称。

如何在我的页面查询后添加更多查询并使它们像上面的例子一样漂亮?

替换此行

RewriteRule ^(.*)$ /admin/index.php?page=$1&username=$2&hash=$3 [QSA]

通过这条线

RewriteRule ^(.*)/(.*)/(.*)$ /admin/index.php?page=$1&username=$2&hash=$3 [QSA]