我有一个基于PHP的Web应用程序,我正在尝试将Apache的mod_rewrite应用于.

请注意,在重写页面名称时,我也有效地“移动”了问号.当我尝试这样做时,Apache愉快地执行这个翻译:

RewriteRule ^/([a-z]+)\?(.+)$/index.php?page=$1&$2 [NC,L]

但它弄乱了PHP中的$_GET变量.例如,调用http://example.com/home?x=88只会产生一个$_GET变量(page => home). x =>在哪里88去?但是,当我将规则更改为使用&符号而不是问号时:

RewriteRule ^/([a-z]+)&(.+)$/index.php?page=$1&$2 [NC,L]

像http://example.com/home\u0026amp;x=88这样的调用将像我期望的那样工作(即页面和x $_GET变量都设置得恰当).

我知道差别很小,但我希望我的URL变量能够“开始”带有问号,如果可能的话.我确信这反映了我自己对mod_rewrite重定向如何与PHP交互的误解,但似乎我应该能够做到这一点(这样或那样).

提前致谢!

干杯,

-克里斯

解决方法:

试试这个:.

RewriteCond %{REQUEST_URI} !^/index.php

RewriteRule ^/([a-z]+)(?:$|\?(?:.+)) /index.php?page=$1 [NC,L,B,QSA,NE]

B逃避反向引用(不应该是必要的,因为它匹配[a-z],但是如果你想稍后扩展它,它可能是有用的).

编辑:添加了RewriteCond.

编辑2:QSA负责添加&符号.

标签:php,query-string,mod-rewrite

来源: https://codeday.me/bug/20190526/1158924.html

php问号和冒号组合,带有问号和符号的mod_rewrite(使用PHP)相关推荐

  1. php图片写入带问号_关于编码:PHP输出显示带有问号的黑色小菱形

    我正在写一个从数据库源中提取的php程序. 某些varchar的引号显示为带有问号的黑色菱形(?,替换字符,我假设来自Microsoft Word文本). 如何使用php去除这些字符? 不要剥去它们, ...

  2. 如何修复带有问号错误的 Mac 文件夹

    启动 Mac 时,您是否一直看到带有问号的文件夹?这表明计算机无法在启动盘上找到操作系统.如果 Mac 在启动时一直显示问号文件夹,这里是您可以用来修复 Mac 的所有故障排除步骤. 有时,您的 Ma ...

  3. php网页中出现问号,HTML_地址栏中的问号有什么作用,之前我们曾经解释?过链接地址 - phpStudy...

    地址栏中的问号有什么作用 之前我们曾经解释?过链接地址中CSS和JS后带的问号是做什么的,但一些同学同样发现浏览器地址栏中的URL链接也经常会带问号. 比如这样的链接: http://www.xxx. ...

  4. R语言ggplot2可视化:使用patchwork包将两个ggplot2可视化结果横向构成新的结果可视化组合图(使用|符号)

    R语言ggplot2可视化:使用patchwork包将两个ggplot2可视化结果横向构成新的结果可视化组合图(使用|符号) 目录

  5. java 范式 问号_冒号和他的学生们(连载9)——泛型范式

    算法是脊,数据是肉:思想是鸡,结论是蛋--题记 冒号重新开讲:"你们会不会经常遇到这种情景:一遍又一遍地写着相似的代码,有心将其归并,却因种种原因无法践行." 逗号心有戚戚焉道:& ...

  6. JAVA中冒号和问号的顺序_c语言问号冒号的用法

    c语言问号冒号的用法 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可.下面小编来为大家介绍c语言问号冒号的用法. ...

  7. TypeScript 中的问号+冒号、双问号、问号+点、感叹号+点

    ?: ?: 是指可选参数,可以理解为参数自动加上undefined function fun(x: number, y?: number) { // 可选参数return x + (y || 0); ...

  8. PHP中问号?和冒号: 的作用

    $shenhe=$val['available']?"已审核":"未审核" 是一个if语句的缩写,C语言里的语法,条件表达式e1?e2:e3,若e1为真(非0) ...

  9. java正则匹配冒号,正则表达式:问号和冒号

    I have the following Java regex, which I didn't write and I am trying to modify: ^class-map(?:(\\s+m ...

最新文章

  1. 安装和使用花生壳(linux)
  2. Spring 初识Aop JDK动态代理实现 原理初显
  3. GDCM:gdcm::Sorter的测试程序
  4. linux inotifywait脚本,使用inotify/fswatch构建自动监控脚本
  5. (科普帖)电梯突然断电下坠时、一定要这么做
  6. SPOJ3931(N个点形成三角形的最大面积)
  7. 卷积神经网络minst的verilog实现
  8. Python—“helloworld”
  9. wd my book essential 不显示盘符_江西大规格WD无伸缩短式万向联轴器供应
  10. (笔记)Linux内核学习(三)之进程调度
  11. 带有参数的输出存储过程
  12. Tomcat Linux下自启动
  13. echarts使用_做数据可视化,为什么我们不再直接使用D3.js、Echarts
  14. 无线蹭网工具奶瓶Beini使用教程
  15. 【三维CAD设计经验分享】CrownCAD设计:零件3D建模设计
  16. 4G模块Air720系列 android RIL驱动源码发布
  17. 手机屏幕如何投屏到电脑显示器上?
  18. 2021-07-06 黑盒测试(持续更新)
  19. UsageStatsService之坑:一个XML解析异常导致的开机动画死循环
  20. 京东抢购Python脚本

热门文章

  1. RTP音频流分析以及乱序问题的解决方法(二)
  2. SCSI介绍和SCSI命令承载于各类总线的方式
  3. android ps切图工具下载,Cutterman
  4. JavaScript基础语法(一)
  5. 高中英语怎样学好呀,负基础
  6. 乐视盒子U4及U4PRO通用固件
  7. spring boot 整合mybatis报错“serverTimezone=UTC“
  8. 跳出程序员思维:如何应对上手英文工具站的几点误区
  9. 像素大厨可以导出html标注吗,前端标注软件-pxcook像素大厨使用心得
  10. 运放稳定性连载11:电容性负载稳定性:RISO、高增益及 CF、噪声增益(2)