htaccess 和 PHP 方向或路由
Htaccess and PHP Direction or routing
我要实现的URL:https://example.com/VdnbzeHfua/ep1_mp4
注意:我的页面 (index.php
) 位于根文件夹
当我访问这个 URL https://example.com/VdnbzeHfua/ep1_mp4
时,它不应该期待子文件夹
我将使用 PHP(index.php
在根文件夹中)获取并使用 URL 中的值,如下所示
<?php
$url = $_SERVER['REQUEST_URI'];
................
...........
?>
如何使用 php 和 .htaccess
实现此目的?
请任何人帮助我解决这个问题。
您需要一个标准的前端控制器模式,这可以通过 .htaccess
中的单个指令实现:
FallbackResource /index.php
任何否则会触发 404 的请求都会被传递给 /index.php
。
另一种方法(可能更常见)是使用 mod_rewrite。例如:
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
尽管仅此一项并没有比上面的 FallbackResource
指令做更多的事情。
这两种方法都需要正确设置 DirectoryIndex
,如果尚未正确设置(这通常会在服务器配置中设置为 index.php
)。例如,在 .htaccess
的顶部,在现有指令之前:
DirectoryIndex /index.php
您似乎已经解决了 PHP 部分。 IE。检查 $_SERVER['REQUEST_URI']
的值以检查请求的 URL,顺便说一句,它也将包含查询字符串。
然后您可以根据需要包含必要的 PHP 文件。例如,这可能很简单,例如:
if ($url == '/about') {
include('content/about.php');
}
但可以根据您的喜好进行复杂化。显然,if
构造不会扩展到 1000 页。
我要实现的URL:https://example.com/VdnbzeHfua/ep1_mp4
注意:我的页面 (index.php
) 位于根文件夹
当我访问这个 URL https://example.com/VdnbzeHfua/ep1_mp4
时,它不应该期待子文件夹
我将使用 PHP(index.php
在根文件夹中)获取并使用 URL 中的值,如下所示
<?php
$url = $_SERVER['REQUEST_URI'];
................
...........
?>
如何使用 php 和 .htaccess
实现此目的?
请任何人帮助我解决这个问题。
您需要一个标准的前端控制器模式,这可以通过 .htaccess
中的单个指令实现:
FallbackResource /index.php
任何否则会触发 404 的请求都会被传递给 /index.php
。
另一种方法(可能更常见)是使用 mod_rewrite。例如:
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
尽管仅此一项并没有比上面的 FallbackResource
指令做更多的事情。
这两种方法都需要正确设置 DirectoryIndex
,如果尚未正确设置(这通常会在服务器配置中设置为 index.php
)。例如,在 .htaccess
的顶部,在现有指令之前:
DirectoryIndex /index.php
您似乎已经解决了 PHP 部分。 IE。检查 $_SERVER['REQUEST_URI']
的值以检查请求的 URL,顺便说一句,它也将包含查询字符串。
然后您可以根据需要包含必要的 PHP 文件。例如,这可能很简单,例如:
if ($url == '/about') {
include('content/about.php');
}
但可以根据您的喜好进行复杂化。显然,if
构造不会扩展到 1000 页。