哈希网址转换为长网址htaccess? PHP的?

时间:2011-10-18 18:51:31

标签: php .htaccess url-rewriting

我用哈希(http://example.com/videos#video01)构建了我的整个网页,但问题是我想在Facebook上分享显然它无法识别哈希,所以我的问题是:有没有办法改造或者将哈希网址重定向到一个长社交网址?

解决方案: 我再次尝试使用bit.ly的API,我收到了50个视频,以便在网址末尾显示每个哈希值。我制作了一个小缓存脚本(bit.ly有一个限制),我用PHP写了一个“foreach”,看起来像bit.ly接受哈希。

非常感谢。

2 个答案:

答案 0 :(得分:0)

#和之后的所有内容都不会发送到服务器。在您的情况下,您只发送http://example.com/videos

答案 1 :(得分:0)

新链接格式:http://example.com/videos?name=video01

将此功能调用到控制器顶部或http://example.com/videos/index.php

function redirect()
{
    if (!empty($_GET['name'])) {
        // sanitize & validate $_GET['name']
        // Remove anything which isn't a word, whitespace, number
        // or any of the following caracters -_~,;[]().
        // If you don't need to handle multi-byte characters
        // you can use preg_replace rather than mb_ereg_replace
        $file = mb_ereg_replace("([^\w\s\d\-_~,;\[\]\(\).])", '', $_GET['name']);
        // Remove any runs of periods
        $file = mb_ereg_replace("([\.]{2,})", '', $file);
        $valid = file_exists('pathToFiles/' . $file);
        if ($valid) {
            $url = '/videos#' . $file;
        } else {
            $url = '/your404page.php';
        }
        header("Location: $url");
    }
}

来自这个排名很高的答案的清理片段:https://stackoverflow.com/a/2021729/1296209