我想实现的网址: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实现这一目标
请任何人帮我解决这个问题。
发布于 2021-09-15 22:48:26
您需要一个标准的前端控制器模式,这可以通过.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部分。即。检查$_SERVER['REQUEST_URI']的值,以检查请求的URL,顺便说一句,该URL还将包含查询字符串。
然后,您可以根据需要包括必要的PHP文件。例如,这可能很简单,例如:
if ($url == '/about') {
include('content/about.php');
}但可以做得像你喜欢那样复杂。显然,if结构不会扩展到1000 s的页面。
https://stackoverflow.com/questions/69200487
复制相似问题