我正在创建一个网站框架。 要在此处获得更好的visit,它的页面为http://cocvidarbha.epizy.com/voting。
现在我想访问http://cocvidarbha.epizy.com/voting/1.php。但该网址应仅被视为http://cocvidarbha.epizy.com/。
我仅在http://cocvidarbha.epizy.com/
的frame source
中使用了index.php
答案 0 :(得分:5)
这更像是客户端的答案。
选项1:
您可以做的是告诉浏览器将URL更改为您想要的其他内容(也可能是不存在的路径)。请注意,您将无法更改域名。
因此,在1.php
文件中添加:
<script>
window.history.pushState("{data: 'pass data'}", "PageTitle", "/url");
</script>
在head
标记内。
选项:2
我建议的另一种方法是使用Ajax。
您可以绑定所有<a href="/url">
,这样当您单击它时,它会异步返回该URL上的数据,而无需重新加载页面。
因此,在主index.php
文件中,添加:
<li>
<a href="http://cocvidarbha.epizy.com/">Page 1</a>
</li>
<li>
<a href="http://cocvidarbha.epizy.com/voting/1.php">Page 2</a>
</li>
<div id="content">
Content will be loaded here without any page reload or URL change
</div>
然后在</body>
之前,添加:
// Include jQuery
<script
src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g="
crossorigin="anonymous"></script>
<script>
$(document).ready(function(e) {
// Bind click event to all "<a>" tags
$(document).on('click', 'a', function(){
var url = $(this).attr('href');
// Do Ajax Call to "href" clicked
$.ajax({
url: url,
type: "GET",
success: function(data){
$('#content').html(data);
}
})
return false;
});
});
</script>
答案 1 :(得分:3)
如果您只想要投票php或者只是部分索引页面,您可以随时将其嵌入索引页面。如果内容是动态的,这是一种解决方案,因为它避免了必须使用帧(HTML5中不支持)/ 301重定向/等。
您可以使用php include嵌入文件。嵌入文件将在索引页面上更新为服务器上的php文件。正如jagb在下面建议的那样,建议在包含文件时使用readfile;如果文件不存在,它将返回错误消息。
e.g:
@media (orientation: portrait) {
body, .reorientMessage{
visibility: visible;
}
.mainContent{
visibility: hidden ;
}
}
@media (orientation: landscape) {
.reorientMessage{
visibility: hidden;
}
body,.mainContent{
visibility: visible ;
}
}
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div class="reorientMessage">please reorient etc..</div>
<div class="mainContent"><p>normal stuff here</p>
<br><br></div>
<?php include $_SERVER['DOCUMENT_ROOT'] . '/path/1.php';?>
</body>
</html>
[上面的html取自索引页面的源输出 - 1.php嵌入]
file_get_contents php函数将读取1.php文件的内容并将内容作为字符串返回。
您可以使用
以类似方式嵌入它<?php
$1 = file_get_contents('./yourserverpath/1.php');
echo $1;
?>
其中$ 1是保存文件内容的变量(随后将它们吐出来!:)
所以你的最终索引页面代码如下所示:
@media (orientation: portrait) {
body,
.reorientMessage {
visibility: visible;
}
.mainContent {
visibility: hidden;
}
}
@media (orientation: landscape) {
.reorientMessage {
visibility: hidden;
}
body,
.mainContent {
visibility: visible;
}
}
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div class="reorientMessage">please reorient etc..</div>
<div class="mainContent">
<p>normal stuff here</p>
<br><br></div>
<?php
$1 = file_get_contents('http://cocvidarbha.epizy.com/voting/1.php');
//I'm putting in the url cos i don't know your path but use the suggested
//method - $1 = file_get_contents('./yourserverpath/1.php');
echo $1;
?>
</body>
</html>
答案 2 :(得分:2)
如果您需要从默认目标网页( index.php )执行重定向到所需页面( 1.php ),通过在index.php代码中添加以下行,
header("location:voting/1.php");
exit;
如果您只想使用框架标记而不对网址显示进行任何重定向,请将 src 属性值更改为 voting / 1.php
答案 3 :(得分:1)
尝试使用以下示例,我的网页中包含Link和Iframe。
<a id="myLInk" href="ClickMe.html" target="myIFrame"> Click Me </a>
此处target="myIFrame"
会在ID为“myIFrame”的IFrame中打开链接。
这是我的Iframe。
<iframe name="myIFrame" src="index.html" align="top" height="500" width="95%" hspace="10" vspace="10" align="middle">
If you can see
this, your browser does not support iframes!
</iframe>
现在,当您点击带有“myLInk”的上述链接时,链接源(即ClickMe.html)将加载到iframe中。 通过这种方式,您可以加载尽可能多的链接,而无需导航到新页面。 这将保持网址不变。