所以我想要做的是创建一个网站,其中index.php将根据查询字符串发送的参数将所有网页拼凑在一起。帮助重写网址
我要“改写”,从形式的网址:http://example.com/index.php?p=cat1/page1喜欢的东西http://example.com/cat1/page1
我试图让使用.htaccess mod_rewrite的规则,但已经无法做什么工作。
我知道这些东西有很多信息..我花了几个小时的时间已经阅读了它并修补了一些东西,但我感觉卡住了。我所做的一切似乎都没有结果。
mod_rewrite并在服务器上装载(说的phpinfo())
我的.htaccess代码:
RewriteEngine On
RewriteRule ^/([home|cat1|cat2]/)?([a-zA-Z]+_?)*/?$ /index.php?p=$1/$2 [L]
我的index.php代码:
<?php
if (isset($_GET["p"])){
$page = htmlspecialchars($_GET["p"]);
}else{
$page = "home";
}
include('./template/header.php');
if (is_dir("./pages/$page")){
include("./pages/$page/overview.php");
}else{
if (file_exists("./pages/$page.php")){
include("./pages/$page.php");
}else{
//not found
echo '<h1 id="pageNotFound">Page Not Found</h1>';
}
}
include('./template/footer.php');
?>
'include(“./ pages/$ page.php”)'这是一个文件包含漏洞;您应该通过删除每个非alnum字符来过滤'$ page',或者为'$ page'使用允许值的白名单。 – arnaud576875