一个直截了当的技术来实现你想要的:
- 使用mod_rewirte和的.htaccess设置“漂亮网址”
- 有一个index.php来接收请求,并进行处理:
- 为每个“页面”动态创建一个散列键,将其存储在数据库(例如MySQL)中。
- “特殊”的网址会从你的域路径构造和每个页面的哈希键(如http://www.my-domain.com/pages/azXi39444)
- 当用户输入URL时,他会得到有关他有密钥的输出用于URL中,并且哈希键将从数据库中删除(标记为“已删除”)
因此,您创建页面,构建URL(如上所述) - 并将其作为回应用户。
我不会进入如何设置mod_rewirte和htaccess的,但这里是一个简单的指南链接: https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049
.htaccess文件的一个例子:
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url_params=$1 [L,QSA]
这可能是index.php(伪代码)的一个简单示例:
<?php
$params = explode('/',$_GET['url_params']);
$hash = $params[0];
// not a real database adapter - but you get the idea..
$db = new DatabaseAdapter('username','password','database');
$result = $db->querySingle("SELECT pageFileName FROM tb_Pages WHERE hash = %1", $hash);
if($result){
// delete the used hash
$db->query("DELETE FROM tb_Pages WHERE hash = %1", $hash);
// include the path of the page for display
include('/mySecretFolder/'.$result->pageFileName);
}else{
echo 'Page not found';
exit;
}
?>
如果您希望页面完全虚拟,则可以将概念f包括实际文件并将页面内容存储在数据库表中,然后从数据库中提取数据并相应地显示给出的页面散列\ id。
对数据库表中的伪例如存储虚拟网页:
CREATE TABLE tb_Pages
(
PageID INT AUTO_INCREMENT,
CreateDate Timestamp,
HashKey VARCHAR(100) NOT NULL,
HtmlContent TEXT,
INDEX(HashKey),
PRIMARY KEY(PageID)
)ENGINE=InnoDB CHARACTER SET utf8;
通过这种方法您使用的.htaccess,URL重写,index.php文件相同的概念和产生的哈希键,而是包括实际文件 - 您正在从数据库中提取页面内容并进行回显。
希望它有一点帮助。
你是说,你想存储页面的结果,然后显示给任何有良好的网址? – Bobot
是的..不是任何人立即同一个用户。我这样做是因为cordova inappbrowser只能打开链接而不是php响应 – krv