【发布时间】:2021-09-23 15:05:07
【问题描述】:
我开发了一个 PHP 应用程序,我想重写 URL 以使其更简洁, 我有多个页面,每个页面可以有 0 个或多个 GET 变量,
我想要实现的示例:
index.php -> /
/index.php?var1=aaa&var2=bbb&var3=ccc -> /var1/aaa/var2/bbb/var3/ccc
/product.php?var4=ddd&var5=eee -> /product/var4/ddd/var5/eee
/products-list.php -> /products-list/
等等……
谁能帮我提供一个完整的 .htaccess 文件来实现这个结果? 有没有办法让 PHP 读取 GET 参数,还是我需要添加一个函数来从每个页面上的 URL 创建一个 $_GET 数组?
谢谢。
【问题讨论】:
-
_GET超全局变量会自动为您填充,不需要任何此类函数。假设您实际上在重写目标中指定了 get 变量。 -
您会发现数百个用于重写路径标记以获取变量的工作示例。我相信您可以开始实施自己的解决方案。您将需要三个或四个规则,每个变量数量一个单独的规则。将更专业的规则放在下面,更一般的规则放在下面。如果您在让事情正常工作时遇到问题,那么是时候来这里询问了。在问题中发布您自己的实施尝试,并准确解释究竟什么不能按预期工作。
-
@arkascha 你能和我分享一个链接到一个工作示例吗?
-
花 10 秒时间浏览右侧的“相关”部分,以该部分为例:stackoverflow.com/questions/15622846/…
-
@arkascha 我已经搜索并尝试实现多个示例但没有运气,您共享的链接中的示例假定变量的名称不是动态的,我的变量可以有任何名称,而且我有多个页面,不仅是 index.php
标签: apache .htaccess url-rewriting