我刚刚看到这个地方,我对它感兴趣,似乎无法在任何地方找到它,或者我只是用错误的词搜索。生成URL别名在PHP
嗯,我看到了这个链接,
http://splur.gy/r/QqVYf/r/2tgNklHgmVK
,当我点击它,我得到了重定向到被称为
https://www.facebook.com/xxx.xxx?sk=app_xxxx
任何人都知道这件事是怎么做的其他页面?或者只是一点点启动?
帮助会很好。 :)
我刚刚看到这个地方,我对它感兴趣,似乎无法在任何地方找到它,或者我只是用错误的词搜索。生成URL别名在PHP
嗯,我看到了这个链接,
http://splur.gy/r/QqVYf/r/2tgNklHgmVK
,当我点击它,我得到了重定向到被称为
https://www.facebook.com/xxx.xxx?sk=app_xxxx
任何人都知道这件事是怎么做的其他页面?或者只是一点点启动?
帮助会很好。 :)
这些都与RewriteRule
,一个简单的谷歌搜索willgive你MROE细节完成。
简而言之,网址将会按如下方式分解:(第1行,URL部分,第2行,PHP相对。
http://splur.gy
http://splur.gy/index.phpř
$ _GET [ 'VAR_1']QqVYf
$ _GET [ 'VAR_2']ř
$ _GET ['VAR_3 ']2tgNklHgmVK
$ _GET [ 'VAR_4']
的RewriteMod
将采取URL如上述格式的设置,并通过向varialbes一个脚本。这是在URL中发布变量的另一种方式。
正如你在上面看到的:stackoverflow.com/posts/15182831,实际上并没有一个名为posts/15182831的文件,它被简单地用作变量,传递给查询数据库的脚本,并且基于结果关于剧本说什么。
它被称为重定向。您可以使用此代码做在PHP:
<?php
header('http://example.com');
可能发生的另一件事是,你看到的链接是不是当您单击您按照实际的链接。这是因为这样做简单:
<a href="http://aha-gotcha.com">example.com</a>
您将需要一台服务器,允许您重写请求,以便您可以将所有请求重定向到单个脚本。如果你正在运行的Apache,你会在它创建一个的.htaccess文件像这样的东西:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^r$ /redirect.php [L,QSA]
RewriteRule ^r/(.*) /redirect.php?__q=/$1 [L,QSA]
</IfModule>
然后,如果你去http://yourdomain.com/r/234243/adsfsd,请求将被发送到脚本/redirect.php和“ 234243/adsfsd'将作为GET参数“q”传递。
然后,您将创建一个名为redirect.php的文件,该文件将处理请求并重定向用户。它看起来财产以后这样的:
<?php
$redirection = process_to_determine_location_from_query($_GET['q']);
header('Location: {$redirection}');
?>
只是为了澄清,这将被放置在页面顶部的'http:// splur.gy/r/QqVYf/r/2tgNklHgmVK'。 – 2013-03-03 03:52:49
是的,那生成的链接将被放置在页面顶部 http://splur.gy/r/QqVYf/r/2tgNklHgmVK 当我们去那,它转移到一个新的页面。你可以尝试。它真的是PHP中的header()函数吗? – 2013-03-03 03:57:12