Apache设置伪静态a.html?id=1234,如何获取问号?后面参数
a.html?id=1234,^a\.html\?id=(\d+)$a.php?id=$1[NC,L]这样的方法设置伪静态,输入a.html?id=1234页面是可以跳转...
a.html?id=1234 , ^a\.html\?id=(\d+)$ a.php?id=$1 [NC,L]
这样的方法设置伪静态,输入 a.html?id=1234页面是可以跳转到a.php,但是a.php里面echo $_GET['id']却不显示任何内容,无法获取到id的值;;;已知该配置如果是 ^(\d+).html$ a.php?id=($1) 这样是可以获取到id的,就是用问号?获取无法获取,该怎么办?
发现,原来是问号的原因。使用\?也不行,而且如果设置 ^a.html$ a.php 这样,如果地址栏输入 a.html?123等等都可以跳转,但是如果a.html124 或者a.html&123 等等非问号字符,就无法跳转。。这个怎么解决,,apache2.2/
我把正则修改了 ^a.html\?(.*)$ a.php?id=$1 为 ^a.html&(.*)$ a.php?id=$1
这种方法访问 a.html&love发现可以获取id,完全正常的
但是 怎么用问号,而不是&去获取参数呢? 展开
这样的方法设置伪静态,输入 a.html?id=1234页面是可以跳转到a.php,但是a.php里面echo $_GET['id']却不显示任何内容,无法获取到id的值;;;已知该配置如果是 ^(\d+).html$ a.php?id=($1) 这样是可以获取到id的,就是用问号?获取无法获取,该怎么办?
发现,原来是问号的原因。使用\?也不行,而且如果设置 ^a.html$ a.php 这样,如果地址栏输入 a.html?123等等都可以跳转,但是如果a.html124 或者a.html&123 等等非问号字符,就无法跳转。。这个怎么解决,,apache2.2/
我把正则修改了 ^a.html\?(.*)$ a.php?id=$1 为 ^a.html&(.*)$ a.php?id=$1
这种方法访问 a.html&love发现可以获取id,完全正常的
但是 怎么用问号,而不是&去获取参数呢? 展开
4个回答
展开全部
{QUERY_STRING}
追问
貌似是正确的,求详细点的写法;用 RewriteRule /([1-9]{4,5})\.html?(.+)$ /c.php?c=$1&k=%{QUERY_STRING} [L] 这种写法,发现如果参数是 ?English,英文的参数,显示正确的,但是如果是 ?汉字 就显示乱码了,怎么解决?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-09
展开全部
哥啊你让静态化压力很大,你到底想不想静态化啊。还整html?id=xxxx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RewriteRule a.html?id=(.+) a.php?id=$1
追问
而且还有问题是 ^a.html$ a.php 这样的语句,如果输入a.html可以跳转到a.php,但是a.html?1234也可以跳转到a.php,这个怎么解决?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询