我有一个基于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. MySQL Concurrency Problems
  2. 中华图标网--http://sinoLogo.cn
  3. lamp 独立mysql_lamp or lnmp 环境搭建之独立安装mysql数据库
  4. 第四篇:Mysql数据库的用户授权及撤销
  5. mysql ---- 官网的测试数据库
  6. php glob() 列出目录及文件
  7. 用 docker-compose 启动 WebApi 和 SQL Server
  8. 【最好的伪原创工具】特别是你的描述中的关键字布局
  9. IntelliJ IDEA母公司JetBrains遭美国调查,其是美国被大规模黑客攻击的源头?
  10. iphone 方法总结
  11. 我们做了一款无网远程运维的智能硬件,坐等运维工程师“翻牌”
  12. 数字钟实验报告stm32_单片机-电子时钟实验报告
  13. 2018-2019-2 20162318《网络对抗技术》Exp2 后门原理与实践
  14. Bayesian Personalized Ranking
  15. Nginx监控数据采集与分析
  16. 改变空间参考,文本框显示prj文件内容
  17. python中如何打开csv文件_Python对CSV文件的处理
  18. Visual Studio 2017 version 15.9 官方最新版本下载(含那个啥码)
  19. 程序猿解决BUG之总结
  20. 和老婆的一次真实对话

热门文章

  1. SegmentFault 巨献 1024 程序员护卫队#1红岸的呼唤
  2. 阿里云安全科学家吴翰清入选MIT TR35_你知道弹性安全网络技术吗?
  3. C# 获取当前屏幕大小 获取屏幕大小
  4. IDE 、SATA、SCSI 的区别
  5. SAI柔顺量多的长发简单画法
  6. 有源医疗器械的开发过程和各阶段的注意事项(七)——有源医疗器械研发 设计输入阶段要注意的事项
  7. 川大研究生计算机网络挂科,川大这28名研究生被退学处理!
  8. XSLT <xsl:if> 元素概述
  9. 关于微信小程序wx.switchTab的问题
  10. 计算机网络周宏博课后题答案,关于计算机硬件组装与教学方法初探.doc