对最终用户来说,它看起来像是单独的页面(index.html,services.html等),但实际上并没有将这些文档分开在服务器上,我想将它们组合成一个并使用(我假设)PHP将这些部分提供给他们自己的"页面"当点击相应的链接时。
为简单起见,请说我有以下几页:
他们的代码:
主页
<body>
<div id="content">
**Home page content**
<div>
</body>
服务
<body>
<div id="content">
**Services page content**
<div>
</body>
联系
<body>
<div id="content">
**Contact page content**
<div>
</body>
... ETC
我可以使用一些标记来组合它们,如:
<body>
/*Home markup*/
<?php Script to display this section when "Home" link is clicked; ?>
<div id="content">
**Home page content**
</div>
/*Services markup*/
<?php Script to display this section when "Services" link is clicked; ?>
<div id="content">
**Services page content**
</div>
/*Contact*/
<?php Script to display this section when "Contact" link is clicked ?>
<div id="content">
**Contact page content**
</div>
</body>
答案 0 :(得分:0)
你应该看看模板系统,这是一个非常简单的例子:
function pageSelector(){
if(array_key_exists('page', $_GET) && !empty($_GET['page'])){
$page = $_GET['page'];
pageSwitch($page);
} else {
$_GET['page'] = 'home';
pageSelector();
}
}
function pageSwitch($page){
switch($page){
case 'home':
//load home page
break;
//add a case for every page you want.
}
}
只需在索引上运行pageSelector();
你现在可以做这样的链接:
index.php?page=home
其中page =是您要访问的页面(确保您的交换机中存在该页面)
答案 1 :(得分:0)
你需要任何识别者来做到这一点。可能喜欢你的域/家庭或你的域/约等
您可以使用mod_rewrite tu将其设为良好的锁定ID
的.htaccess
RewriteEngine On
RewriteRule ^/?([a-zA-Z_-]+)$ index.php?p=$1 [L]
然后你可以使用不同的开关功能。
function getPage(){
if(isset($_GET['p'])){
switch(strtolower($_GET['p'])){
case 'index' : include(dirname(__FILE__) . '/../pages/index.php'); break;
case 'aboutme' : include(dirname(__FILE__) . '/pages/about.php'); break;
case 'legal' : include(dirname(__FILE__) . '/pages/legal.php'); break;
}
}
}