gpt4 book ai didi

php - 将非常简单的 htaccess 转换为 PHP 路由器?

转载 作者:行者123 更新时间:2023-12-05 08:57:07 24 4
gpt4 key购买 nike

我希望我能在一个相对简单的问题上得到一些帮助:

我一直在为大学编写一个 PHP 应用程序,由于我完全缺乏预见性,他们测试我们应用程序的服务器不是 Apache,它们只是 php -S 服务器(PHP 内置服务器)。

所以我的应用程序完全依赖于将 URI 路由到一个特定的文件,我在 .htaccess 中工作得很好:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ api.1.0.php [L,QSA]

我知道您可以在使用普通 PHP 服务器时使用路由器文件,但是谁能帮我将此 .htaccess 文件“转换”为 PHP 路由器?

提前感谢任何能为我指明正确方向的人!

编辑:我想提出这个问题的更好方式是,任何人都可以帮助我理解 .htaccess 文件的作用吗?然后我可以很容易地将它转换成 PHP。

最佳答案

这很简单。使用这种方式router.php:

<?php
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
if (!file_exists($path))
include "api.1.0.php";
else
return false;
?>

上面的代码是对 .htaccess 文件的替换:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ api.1.0.php [L,QSA]

I guess a better way of putting this question would be, can anyone help me understand what the .htaccess file is doing?

  1. RewriteEngine On - 启动 Apache2 重写引擎模块。
  2. RewriteCond %{REQUEST_FILENAME} !-f - 当路径上不存在文件时,
  3. RewriteCond %{REQUEST_FILENAME} !-d - 当路径上不存在目录时,
  4. RewriteRule ^(.*)$ api.1.0.php [L,QSA] - 无论您提供什么,都将其提供给 api.1.0。 php 与查询字符串,并在此处停止重写规则。

这段代码适用于这种方式:

php -S localhost:80 router.php

关于php - 将非常简单的 htaccess 转换为 PHP 路由器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com