如何在PHP中生成一个新页面并将页面URL重写为随机字符串


How do I generate a new page in PHP and rewrite the page URL a random string?

我想知道如何使随机URL显示用户提交的内容,如http://www.imgur.com(示例)没有任何框架。

我知道我需要在。htaccess中放一些东西,但是我不知道该写什么。

我已经有了创建随机字符串所需的代码:

<?php
    $seed = str_split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-');
    $rand = array_rand($seed, 7);
    $convert = array_map(function($n){
        global $seed;
        return $seed[$n];
    },$rand);
    $var = implode('',$convert);
    echo $var;
?> 

要实现您的目标,您必须学习GET方法的工作原理。

来自PHP.net的描述:

通过URL参数传递给当前脚本的变量的关联数组。

例子:

我想进入我的网站,并使用$_GET从URL看到数字的double。

我给你地址,例如:mywebsite.com/number.php?number=5

then in number.php file:

$myNumber = $_GET['number'];
echo $myNumber * 2;

现在,每次你进入这个URL,你会看到URL的数字的两倍。

为了使你的URL更漂亮,你可以使用。htaccess为你提供了一个改变URL的方法。

例如,我想将我的URL更改为mywebsite.com/number/5并导航到与mywebsite.com/?number=5相同的文件:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule     ^number/([0-9]+)/?$    number.php?number=$1