【问题标题】:Same PHP file for an entire directory整个目录的相同 PHP 文件
【发布时间】:2021-04-10 20:15:44
【问题描述】:

我的网站上有一个目录。我们称之为/dir/。我希望一个 PHP 文件位于该目录 (/dir/index.php) 中,并且我希望任何以 /dir (aka /dir/any.file) 开头的 URL 都显示相同的文件 (/dir/index.php )。 (该文件将解析 URL 并根据 URL 返回不同的信息)我确实希望页面重定向,因为这会使 URL 发生变化,然后我将无法解析它.

我该怎么做?我应该在我的 404.php 开头添加一个 if 语句“如果 URL 以 /dir/ 开头,包括 /dir/index.php”还是这种不好的做法/有更好的方法吗?我也不想这样做,因为它会弄乱我的错误日志。

我认为它与 .htaccess 相关,对吧?

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    您能否尝试使用所示示例进行以下、编写和测试。请保持您的 .htaccess 文件与您的 dir 文件夹相同级别(请不要在 dir 文件夹内),并且 dir 应该有 index.php 文件 init。这会将任何以 dir 开头的 url 重写为 index.php。

    同样在您的网页标题中添加此<base href="/">,以便您的相对链接可以从正确的位置加载(在多级的情况下并防止 css/js 文件的相对路径来自断开的链接)。

    RewriteEngine ON
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(dir).*$ $1/index.php [NC,L]
    

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2012-06-07
      • 2018-07-05
      • 2014-02-02
      • 2018-05-09
      • 2013-09-05
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      相关资源
      最近更新 更多