整个目录的相同 PHP 个文件
Same PHP file for an entire directory
我的网站上有一个目录。我们称它为/dir/。我希望在该目录 (/dir/index.php) 中有一个 PHP 文件,并且我希望任何以 /dir 开头的 URL(又名 /dir/any。 file) 以显示相同的文件 (/dir/index.php)。 (该文件将根据 URL 解析 URL 和 return 不同的信息)我 不 希望页面重定向,因为那样会进行 URL 更改,然后我将无法解析它。
我该怎么做?我应该在 404.php 的开头添加一个 if 语句“如果 URL 以 /dir/ 开头,包括 /dir/index.php” 还是那不好 practice/is 还有更好的方法吗?我也不想这样做,因为它会使我的错误日志变得混乱。
我猜是 .htaccess 的问题吧?
您能否尝试使用显示的示例进行以下、编写和测试。请将您的 .htaccess 文件与您的 dir 文件夹保持在同一级别(请不要在 dir 文件夹内)并且 dir 应该有 index.php 文件初始化。这会将以 dir 开头的任何 url 重写为 index.php.
同样在您网页的 header 中添加此 <base href="/">
以便您的相关链接可以从正确的位置加载(在多级的情况下并防止 css/js 文件的相对路径来自损坏的链接)。
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(dir).*$ /index.php [NC,L]
我的网站上有一个目录。我们称它为/dir/。我希望在该目录 (/dir/index.php) 中有一个 PHP 文件,并且我希望任何以 /dir 开头的 URL(又名 /dir/any。 file) 以显示相同的文件 (/dir/index.php)。 (该文件将根据 URL 解析 URL 和 return 不同的信息)我 不 希望页面重定向,因为那样会进行 URL 更改,然后我将无法解析它。
我该怎么做?我应该在 404.php 的开头添加一个 if 语句“如果 URL 以 /dir/ 开头,包括 /dir/index.php” 还是那不好 practice/is 还有更好的方法吗?我也不想这样做,因为它会使我的错误日志变得混乱。
我猜是 .htaccess 的问题吧?
您能否尝试使用显示的示例进行以下、编写和测试。请将您的 .htaccess 文件与您的 dir 文件夹保持在同一级别(请不要在 dir 文件夹内)并且 dir 应该有 index.php 文件初始化。这会将以 dir 开头的任何 url 重写为 index.php.
同样在您网页的 header 中添加此 <base href="/">
以便您的相关链接可以从正确的位置加载(在多级的情况下并防止 css/js 文件的相对路径来自损坏的链接)。
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(dir).*$ /index.php [NC,L]