我想创建一个脚本,将网站中请求的每个文件夹作为参数传递.
例如,如果有人请求:
www.example.com/foo
Run Code Online (Sandbox Code Playgroud)
...将被重定向到主index.php并作为参数传递,在请求时获得相同的结果 www.example.com/index.php?foo
请注意,请求的文件夹将是随机的,所以我无法预测文件夹并在那里放置一个PHP脚本.
我应该通过HTACCESS处理所有404请求吗?还是有更高档的解决方案?
在你的网址foo是一个参数键,如果你的意思是这样,那么它有什么价值?
也许您将它与路由结构混淆,您将整个URL传递给处理请求的路由脚本
重写你想要的是:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
然后在你的索引中你拆分网址如下:
<?php
$parts = isset($_GET['route']) ? explode('/',$_GET['route']) : array();
?>
Run Code Online (Sandbox Code Playgroud)
然后一个示例URL看起来像:
www.example.com/foo/bar/baz
$parts[0] = foo
$parts[1] = bar
$parts[2] = baz
Run Code Online (Sandbox Code Playgroud)
然后,如果你正在寻找文件夹/文件存在,这样的事情:
<?php
if (isset($parts[0]) && file_exists('./'.basename($parts[0]))) {
//Folder or file exists
} else {
//Folder or file does not exist - 404
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2764 次 |
| 最近记录: |