2017-04-21 54 views
0

所以,我遇到了查询字符串的问题,并重写它们看起来“更漂亮” 我的网站是:localhost/admin /所以当上传到我的服务器时也是/ admin目录下,并在.htaccess文件看起来是这样的:htaccess用一个动态空查询字符串重写多个查询字符串

RewriteEngine On 

# redirect URL with empty query string to index.php 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^/?(.*)$ /admin/index.php?$1 [NC,L] 

不幸的是,我的管理面板设计,所有的页面都链接到index.php文件。所以当我最初用于请求http://localhost/admin/?users时,它会显示所有用户的列表。我想使这个更漂亮,所以我使用了上述htaccess规则,并提出了http://localhost/admin/users。出现两个问题:

  1. css /下的admin文件夹中的css文件无法访问,因此没有应用这些样式。
  2. 这个?用户页面在php中包含使用GET参数的分页,所以它看起来有点像http://localhost/admin/users&page=1,并且看起来像http://localhost/admin/?users&page=2

所以基本上我想要做的就是让代码看起来更像这样:http://localhost/admin/users/page/1。不幸的是,我不能硬编码用户参数,因为我有其他部分,如“网站”,我也会有一个编辑用户页面与ID等。所以我想知道如果有人可以帮助我解决这个问题的最好方法或如何我可以修复上面的htaccess规则?唯一有帮助的是:.htaccess mod_rewrite Unknown number of Variables of a GET form,但我仍然对如何在url前面实现多个空的GET变量而失去了兴趣。

谢谢!

回答

0

这是我做的,

首先在你的网页的头部分CSS部分使用<base href="domain.com/">

你正在重定向完整的URL查询index.php字符串,我假设你正在检索是$_SERVER['QUERY_STRING'];

所以我建议你把你的分页网址改为http://localhost/admin/users/page/1

在这之后,当你在index.php文件检索它们使用爆炸功能爆炸字符串,

$arr = explode('/',$_SERVER['QUERY_STRING']); 

里面你$arr您将有所有你的价值观,你的查询字符串得到了他们。