如何设置 php 伪静态:使用 mod_rewrite:启用 mod_rewrite 并创建 .htaccess 文件,将以 /index.php/ 开头的 url 重定向到等效的 url。使用 $_get 超全局变量:获取请求路径,解析路径以提取路径部分,移除脚本名称并进行必要的处理以生成重写后的 url。
如何在 PHP 中设置伪静态
伪静态允许你使用更具描述性且用户友好的 URL 而无需更改服务器配置。在 PHP 中实现伪静态有两种主要方法。
第一种方法:使用 mod_rewrite
- 启用 mod_rewrite: 确保 mod_rewrite Apache 模块已启用。这通常可以通过在 Apache 配置文件中添加以下行来实现:
LoadModule rewrite_module modules/mod_rewrite.so
登录后复制
- 创建 .htaccess 文件: 在需要使用伪静态的目录中创建名为 .htaccess 的文件。
- 添加 RewriteRule: 在 .htaccess 文件中添加以下行:
RewriteRule ^index.php/(.*)$ /\ [L]
登录后复制
这将重写以 /index.php/ 开头的 URL,并将其重定向到其等效的 URL(不带 /index.php/)。
第二种方法:使用 $_GET 超全局变量
- 获取请求路径: 使用 $_SERVER[‘REQUEST_URI’] 获取当前请求的路径(包括查询字符串)。
- 解析路径: 使用 parse_url() 函数解析路径,提取路径部分。
- 移除脚本名称: 从路径中移除脚本名称。例如,如果你正在使用 index.php,可以使用以下代码:
$path = str_replace('/index.php', '', $path);
登录后复制
- 处理重写: 根据需要对路径进行任何必要的处理,然后将其用作重写后的 URL。
示例:
<?php // 获取请求路径 $path = $_SERVER['REQUEST_URI']; // 解析路径 $pathInfo = parse_url($path); // 移除脚本名称 $path = str_replace('/index.php', '', $pathInfo['path']); // 处理重写 if ($path == '/about-us') { header('Location: /page/about'); } ?>
登录后复制
这将重写 /index.php/about-us URL 到 /page/about。
以上就是php如何设置伪静态的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:momo,转转请注明出处:https://www.dingdanghao.com/article/689818.html