我有一个名为“wlatw.co”(和 .com)的域('哇!看看这个网站! ')让我和我的一些朋友制作缩短的 URL。我刚刚将它从处理一些粗俗的 javascript 的慢版本升级到超快速的 PHP header() 重定向。它曾经是这样的:“r.wlatw.co/alca”,但我更喜欢“wlatw.co/alca”。我希望 .htaccess 将丢失的页面(例如“/alca”(因为它在服务器上不存在))重定向到它将重定向的“wlatw.co/redir.php?r=alca”。(在引号之外加上逗号和句点,以免混淆某人:))
wlatw.co/ RedirectName = 404 redirect redir.php?r= RedirectName redirect Page To Redirect To
a 重定向 b 重定向c
a 到 b 通过 .htaccess。redir.php 从 b 到 c。
因此,除非有人知道使用 htaccess 读取 XML 的某种方法,否则我更喜欢这种方法!
XML 设置示例:
..如果需要(或供路过的人参考)
<redirect>
<short>
<name>alca</name> <!-- like wlatw.co/alca -->
<creator>255.255.255.255</creator> <!-- ip address or username -->
<date>1/6/13</date> <!-- the date! -->
<time>10:52PM</time> <!-- the time! -->
<url>http://www.alcadesign.com/</url> <!-- where to go to -->
</short>
</redirect>
和
PHP:
这是redir.php
<?php
if(file_exists('redirects.xml')) {
$xml = simplexml_load_file('redirects.xml');
if(isset($_GET['r']) && $_GET['r'] != '' && !is_array($_GET['r'])) {
foreach($xml->short as $shorts) {
if($shorts->name == $_GET['r']) {
header('Location: '.$shorts->url);
break;
}
}
}
else {
header("refresh:2;url=http://www.wlatw.co/");
echo '<div align="center" style="font-weight: bolder; font-size: 24px;">Malformed URL</div><div align="center" style="font-weight: bolder; font-size: 16px;">Redirecting...</div>';
}
}
?>
关于 PHP,如果有人知道如何从 foreach 循环中判断它是否成功并回显