gpt4 book ai didi

php - 从子目录中将 URL 重写为 PHP 参数

转载 作者:行者123 更新时间:2023-12-04 04:36:55 26 4
gpt4 key购买 nike

我所要求的只是将任何给定 URL 的子目录重写为 PHP URL 参数,以获得更好看、用户友好的 URL。

我知道使用 Apache 重写引擎和相关参数可以做到这一点。
我的问题是我不想重写,即

mydomain.com/parameter ----------->
mydomain.com/index.php?id=parameter

但是重写
mydomain.com/subdirectory/parameter ----------->
mydomain.com/subdirectory/index.php?id=parameter

在我的根文件夹中,我有一个 .htaccess 文件,用于 404 错误等,将不存在的页面重定向到主页面。在我完成的测试期间,我停用了这些,认为它们可以覆盖其他 .htaccess 文件。
我试过...
RewriteEngine On
RewriteRule ^directory/([^/\.]+)/?$ index.php?id=$1 [L]

...和其他类似的片段。

包含此代码的 .htaccess 文件被放置在 root/directory 文件夹中。
我想要实现的是将 root/directory/string 重定向到 root/directory/index.php?id=string。

由于我对 .htaccess 和重写的知识显然有限,我需要回答两个问题。
  • 根文件夹中的 404 重写器会覆盖子目录中的任何其他重写器吗?
  • 我如何实现我所追求的? (很像 url-shorteners 如何工作 - bit.ly/shortened)来自子目录?
  • 最佳答案

    此规则应该适用于您的 DOCUMENT_ROOT/.htaccess文件:

    RewriteEngine On
    RewriteRule ^(directory)/([^/.]+)/?$ /$1/index.php?id=$2 [L,NC,QSA]

    确保没有其他 .htaccess文件在 directory .

    关于php - 从子目录中将 URL 重写为 PHP 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19604954/

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