首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP:如何获取用mod_rewrite重写的URL?

在使用mod_rewrite重写URL时,可以通过以下方法在PHP中获取重写后的URL:

  1. 使用$_SERVER['REQUEST_URI']变量:这个变量包含了重写后的URL,可以直接使用这个变量来获取重写后的URL。
代码语言:php
复制
$rewritten_url = $_SERVER['REQUEST_URI'];
  1. 使用$_SERVER['REDIRECT_URL']变量:如果服务器上已经启用了URL重写,那么在使用重写规则时,可以通过$_SERVER['REDIRECT_URL']变量获取重写后的URL。
代码语言:php
复制
$rewritten_url = $_SERVER['REDIRECT_URL'];
  1. 使用$_SERVER['REDIRECT_QUERY_STRING']变量:如果URL重写规则中包含了查询参数,那么可以通过$_SERVER['REDIRECT_QUERY_STRING']变量获取查询参数。
代码语言:php
复制
$rewritten_url = $_SERVER['REDIRECT_QUERY_STRING'];
  1. 使用$_SERVER['REDIRECT_URL']$_SERVER['REDIRECT_QUERY_STRING']变量:如果URL重写规则中同时包含了URL和查询参数,那么可以通过$_SERVER['REDIRECT_URL']$_SERVER['REDIRECT_QUERY_STRING']变量组合获取重写后的URL。
代码语言:php
复制
$rewritten_url = $_SERVER['REDIRECT_URL'] . '?' . $_SERVER['REDIRECT_QUERY_STRING'];

需要注意的是,这些变量的可用性取决于服务器的配置,如果服务器没有正确配置这些变量,那么可能需要手动配置或者使用其他方法获取重写后的URL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL

介绍 Apachemod_rewrite模块允许您以更干净方式重写URL,将人类可读路径转换为代码友好查询字符串。它还允许您根据条件重写URL。...第1步 - 启用mod_rewrite 为了让Apache了解重写规则,我们首先需要激活mod_rewrite。它已经安装,但在默认Apache安装上被禁用。...第3步 - 配置URL重写 在这里,我们将设置一个基本URL重写,将漂亮URL转换为实际页面路径。...例如,用PHP编写搜索结果页面可能使用类似的URL http://example.com/results.php?item=shirt&season=summer。...在本教程中,您学习了如何使用该RewriteRule指令重定向URL,包括具有查询字符串URL。您还学习了如何使用该RewriteCond指令有条件地重定向URL

4.3K11

如何在Debian 8上使用mod_rewrite为Apache重写URL

介绍 在本教程中,我们将激活并学习如何使用Apache 2mod_rewrite块管理URL重写。...该模块允许我们以更干净利落方式重写URL,将人们可读路径转换为代码友好查询字符串或根据其他条件重定向URL。 本教程分为两部分。第一部分设置了一个示例网站,并介绍了一个简单重写示例。...第三步 - 配置URL重写 在这里,我们将设置一个基本URL重写,它将URL转换为代码实际路径。具体来说,我们将允许用户访问http://your_server_ip/about。...结论 mod_rewrite是一个有用Apache模块,可以有效地用于确保可读URL。在本教程中,您学习了如何使用RewriteRule指令重定向URL,包括具有查询字符串URL。...您还学习了如何使用RewriteCond指令有条件地重定向URL。如果您对如何在Debian 8上用mod_proxy将Apache设置为反向代理感兴趣,欢迎访问腾讯云+社区获取更多教程。

4.3K20

如何在Debian 9上使用mod_rewrite为Apache重写URL

选择其他版本: Ubuntu 18.04 介绍 Apachemod_rewrite模块允许您以更干净方式重写URL,将人类可读路径转换为代码友好查询字符串。它还允许您根据条件重写URL。...第1步 - 启用mod_rewrite 为了让Apache了解重写规则,我们首先需要激活mod_rewrite。它已经安装,但在默认Apache安装上被禁用。...第3步 - 配置URL重写 在这里,我们将设置一个基本URL重写,将漂亮URL转换为实际页面路径。...结论 mod_rewrite允许您创建人类可读URL。在本教程中,您学习了如何使用该RewriteRule指令重定向URL,包括具有查询字符串URL。...您还学习了如何使用该RewriteCond指令有条件地重定向URL

4.9K95

Thinkphp5 如何隐藏入口文件index.php(URL重写)

路由在框架中作用打个比方的话,路由好比是WEB应用总调度室,对于访问URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你URL.../虚拟域名)下,是这样繁琐一行URL地址: tp5.com/index.php/index/Index/index 不舒服,不优雅(啧啧)对吧?...开始学习TP5路由部分,先记下隐藏入口文件index.php也就是URL重写方法: 一.加载httpd.conf配置文件中mod_rewrite.so模块: 如果是集成环境,大概是已经开启了,我用...环境:phpStudy 2018/ThinkPHP5.0.14/php7/Apache (如果是其他服务器,可参阅官方手册 URL重写) 以上这篇Thinkphp5 如何隐藏入口文件index.php(...URL重写)就是小编分享给大家全部内容了,希望能给大家一个参考。

1.7K21

如何在Ubuntu 14.04上为Apache设置mod_rewrite

介绍 在本教程中,我们将激活并学习如何使用Apache2 mod_rewrite模块管理URL重写。这个工具允许我们以更干净方式重写URL,将人类可读路径转换为代码友好查询字符串。...第4步 - 设置文件 在本节中,我们将设置一个基本URL重写,它将漂亮URL转换为代码实际路径。具体来说,我们将允许用户访问example.com/about。...这是一个很好简单示例,显示了所有重写规则遵循一般语法。 ^about$是从URL匹配字符串。也就是说,这是观众在她浏览器中输入内容。我们示例使用了一些元字符。...如果您愿意,可以在结果路径中设置示例文件,但本教程不包括创建HTML和PHP文件; 只是重写规则。...} ^(12\.34\.56\.789)$ RewriteRule (.*) - [F,L] 结论 mod_rewrite可以有效地用于确保人类可读URL

2.4K00

如何在CentOS 7上为Apache设置mod_rewrite

我们来看看重写规则: ^about$用作从URL匹配模式,以及用户在浏览器中键入内容。...例如,以下URL指向该about.html文件: 服务器域 or_IP / about 服务器域 or_IP /关于 服务器域 or_IP / ABOUT 通过简单重写规则,我们为用户如何访问“ 关于我们...例如,用PHP编写搜索结果页面的URL可能如下所示: http://example.com/results.php?...例1A:简单替换 我们将创建一个重写规则,执行简单替换,简化长查询URL: RewriteRule ^shoes/women$ results.php?...使用重写规则原因有很多,以下资源详细介绍了mod_rewrite模块功能: Apache mod_rewrite简介 mod_rewriteApache文档 mod_rewrite备忘单 该mod_rewrite

5.3K00

搜索引擎优化 高级编程 PHP版 读书笔记

关于作者 http://www.cristiandarie.ro/ http://www.seoegghead.com/ 第三章 有友好搜索引擎URL地址 理解静态URL地址和动态URL...地址区别 理解URL地址重写好处 利用mod_rewrite 和正则表达式来实现URL地址重写 跟着练习来实践重写数字化和多关键词URL地址 创建一个PHP“链接工厂”库来帮助保持网站中...3.1 为什么URL地址重要 3.2 动态URL地址和静态URL地址 3.2.1 静态URL地址 不包括查询字符串。...3.2.2 动态URL地址 2个以上参数可能会给搜索引擎带来问题,确定如何遍历站点时会增加难度。...解决方法 mod_rewrite URL重写 3.2.3 URL地址与网站单击率 URL中加入了相关关键词,有刚搞网站单击率CTR效果。 3.2.4 URL地址与重复内容

37310

apache rewritecond_hfile数据格式中data字段用于

所以,Apache收到一个请求并且确定了响应主机(或虚拟主机)之后,重写引擎即开始处理服务器级配置中所有mod_rewrite指令(此时处于从URL到文件名转换阶段),此阶段完成后,最终数据目录便确定了...接下来进入修正程序段并触发目录级配置中mod_rewrite指令。这两个阶段并不是泾渭分明,但都实施了把URL重写成新URL或者文件名。...记住以下两点,会有助于更好地理解: 1、虽然mod_rewrite可以将URL重写为新URL或文件名,甚至将文件名重写为新文件名,但是之前API只提供从URL到文件名hook。...为了解决这个”鸡和蛋”问题,mod_rewrite使用了一个小技巧:在进行一个目录级URL/文件名操作时,先把文件名重写回相应URL(通常这个操作是不可行,但是参考下面的RewriteBase指令就能明白它是怎么实现了...图-1:重写规则集中控制流 可见,URL首先与每个规则Pattern匹配,如果匹配失败,mod_rewrite将立即终止此规则处理,继而处理下一个规则。

4.5K10

ApacheURL地址重写(RewriteCond与RewriteRule)

URL地址重写,正则表达式是最基本要求,但对于一般URL地址来说,基本匹配就能实现我们大部分要求,因此除非 是非常特殊URL地址,但这不是我要讨论范围,简单几招学会Apache中URL地址重写...记住一点:任何匹配其实就是一个正则表达式替换过程。 创建友好搜索引擎URL地址对于PHP程序员来说非常重要,因此简单学会Apache中URL地址重写将是一项最基本要求。...URL重写是最好方法(个人观点,大流量时候可以考虑负载均衡了。同样没有关系)  附URL重写方法有很多种,APACHE,IISREWRITE。甚至PHP脚本都可以直接处理。...当前URL不一定是用记最初提交 URL,因为可能用一些规则在此规则前已经对URL进行了处理。   对mod_rewrite来说,!...如果要立即将新URL重定向,用L标志来中重写流程。http://thishost[:port ]前缀,则mod_rewrite会自动将此前缀去掉。

2.3K10

http协议之referer防盗链

什么是防盗链 以百度贴吧为例,在百度帖吧我们随便获取一张图片url 链接如下: http://tiebapic.baidu.com/forum/w%3D580%3B/sign=dd259ee0be773912c4268569c8228718...,但是对方服务器是如何知道这个请求是来自站外呢?...apache 在web服务器层面,根据http协议referer头信息来判断,如果来自站外则统一重定向到一个仿盗链图片上去 步骤 1.打开apache重写模块 mod_rewrite 2.在需要防盗网站或目录写....htaccess文件 3.指定防盗链规则 打开apache重写模块 mod_rewrite 打开apache httpd.conf,搜索mod_rewrite,去掉注释,并重启apache 在需要防盗网站或目录写...php echo ""; 正常显示图片 模拟外站访问图片 如何配置nginx服务器用于防盗链?

87820

宝塔如何安装 MDClub

服务器要求如下: Apache(需要启用 mod_rewrite 重写模块)或 Nginx PHP 7.2+,需要启用 gd 或 imagemagick、fileinfo、json、pdo、iconv、...按下文”文件夹权限“说明设置 MDClub 文件夹权限。 配置你 Web 服务器,将网站根目录设置为”MDClub路径/public“,并按照下文说明设置 URL 重写。...在浏览器中访问 URL 来运行 MDClub 安装脚本。 URL 重写 Apache MDClub 在 public 目录中附带了一个 .htaccess 文件。...如果没有启用 mod_rewrite 模块,或禁用了 .htaccess,MDClub 将无法正常运行。 启用 mod_rewrite 方法会根据操作系统不同而不同。...你需要在 Nginx 站点配置文件中添加以下内容,以导入默认重写规则: include /MDClub路径/.nginx.conf; 文件夹权限 若服务器使用 Windows 系统,则无需设置权限。

1.8K2517

关于伪静态实现方法

PHP怎么实现呢,具体方法如下: Apache服务器: 利用apachemod_rewrite模块 1.检测Apache是否支持”mod_rewrite” 打开您apache安装目录“/apache...2.让Apache服务器支持”.htaccess” 如何让自己本地Apache服务器支持”.htaccess”呢?...id=$1 RewriteEngine为重写引擎开关on为开启off为关闭 RewriteRule是重写规则,支持正则表达式,上面的([0-9]{1,})是指由数字组成,$是结束标志,说明是以数字结束...action=$1&id=$2是要替换格式,$1代表第一个括号匹配值,$2代表第二个,以此类推!! 我们写一个处理PHP脚本:index.php <?...」创作共享协议,转载请标注以下信息: 原文出处:Yiiven https://www.yiiven.cn/php-url-rewrite.html

1.2K40

如何安装 MDClub

服务器要求如下: Apache(需要启用 mod_rewrite 重写模块)或 Nginx PHP 7.2+,需要启用 gd 或 imagemagick、fileinfo、json、pdo、iconv、...按下文”文件夹权限“说明设置 MDClub 文件夹权限。 配置你 Web 服务器,将网站根目录设置为”MDClub路径/public“,并按照下文说明设置 URL 重写。...在浏览器中访问 URL 来运行 MDClub 安装脚本。 URL 重写 Apache MDClub 在 public 目录中附带了一个 .htaccess 文件。...如果没有启用 mod_rewrite 模块,或禁用了 .htaccess,MDClub 将无法正常运行。 启用 mod_rewrite 方法会根据操作系统不同而不同。...在 Ubuntu 上,您可以通过运行 sudo a2enmod rewrite 命令来启用它,而在 CentOS 上 mod_rewrite 是默认启用

1.3K30

Apache中 RewriteRule 规则参数介绍

Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器重写引擎来实时重写URL请求。...Apache模块 mod_rewrite 提供了一个基于正则表达式分析器重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量子规则以及附加条件规则灵活而且强大URL操作机制。...使用它可以把规范化URL反馈给客户端,如将”/~”重写为”/u/”,或始终对/u/user加上斜杠,等等。 注意:在使用这个标记时,必须确保该替换字段是一个有效URL。...否则,它会指向一个无效位置!并且要记住,此标记本身只是对URL加上http://thishost[:thisport]/前缀,重写操作仍然会继续进行。...apache Mod_rewrite 功能来实现。

11.7K30

Apache 模块 mod rewrite RewriteCond 通过检查HTTP REFERER避免

在使用这些 RewriteCond和不使用之间作比较,每条RewriteCond将降低速度1%以上,随着这个列表增长,对于速度影响将进一步突出。...RewriteLog RewriteLogLevel RewriteMap RewriteRule [mod_rewrite模块 – 常见用途] 改变查询参数设定位置...[mod_rewrite模块 – 标记] RewriteLog, 设置重写引擎日志文件名 [mod_rewrite模块 – RewriteCond重写条件] 通过检查...HTTP_REFERER避免静态图片盗链对性能有严重影响 [mod_rewrite模块 – RewriteRule重写规则] 匹配任意字符串时,可以借助正则表达式灵活特性 [mod_rewrite...RewriteRule中R标记用于发送重定向 与PHP集成时不需要对$_GET额外处理 [mod_alias模块 – 常见问题] RedirectMatch用于简单重定向

1.7K20
领券