我会尝试解释: 我有一个域名 - example.com没有任何其他页面。 我希望能够从非现有链接创建重定向,example.com/whatever到nba.com,如何在不创建example.com/whatever页面的情况下执行此操作? 我希望有一个没有网页的网站,只有域名,这对我来说是一个重定向中心,我的意思是 - 我希望有来自example.com/******的100个随机链接,第一个链接将重定向到website1 ,第2位到website2.com等。
据我所知,我必须拥有一个数据库,其中至少有一个表,第一行有2行 - 第二行是example.com/***的随机链接 - 指向重定向网站的链接。但是如果页面不存在,如何进行重定向? 使用PHP或其他技术?请帮忙。
答案 0 :(得分:1)
可以通过.htaccess和php文件来实现:
<强> htaccess的:强>
ErrorDocument 404 /404.php
<强> 404.php:强>
<?php
if ($_SERVER["HTTP_HOST"] == "example.com") // current domain
header('Location: http://nba.com/', TRUE, 301);
?>
答案 1 :(得分:0)
您需要.htaccess
。找到域所在的主机帐户的根目录(通常为public_html
)并创建一个.htaccess
文件,其中包含以下内容:
ErrorDocument 404 /index.php
现在在根目录中创建一个index.php
文件,其内容如下:
<?php
$websites = array( 'http://www.websiteone.com', 'http://www.websitetwo.com' );
$random_website = array_rand( $websites );
header( "Location: {$random_website}", TRUE, 301 );
?>
您可以继续向$website
数组变量添加元素。此示例假定您的服务器已设置,可以使用PHP
来运行代码。
如果要配置数据库以检索值:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM websites ORDER BY RAND() LIMIT 1";
$result = $conn->query($sql);
$website = mysql_fetch_object($result);
$random_website = $website->website;
$conn->close();
header( "Location: {$random_website}", TRUE, 301 );
?>
此代码假定数据库中的表名为websites
,其中包含一个名为website
的字段,其中存储了URL。