【问题标题】:php url shorteningphp url 缩短
【发布时间】:2012-05-11 20:08:13
【问题描述】:

好吧,我想这确实是一个普遍的问题,而不是一个问题。

我正在构建一个用户可以在其他网站上分享他们的个人资料的系统,所以我想知道是否可以缩短实际的 url,它会提供一个指向他们个人资料的链接,就像这样,www.somedomain.com/users/profile.php?user=myusername 简单地剪切从用户文件夹和个人资料页面中取出类似这样的内容:www.somedomain.com/myusername

我见过很多 url 缩短脚本,但他们似乎没有这样做,任何建议或建议将不胜感激。

谢谢

【问题讨论】:

  • 查看mod_rewrite。

标签: php url-rewriting


【解决方案1】:

您要查找的内容称为 URL 重写,可以使用 Apache's mod_rewrite 完成。你可以在你的 web 根目录中放置一个名为 .htaccess 的文件,它会包含一个如下所示的 sn-p:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  /(.*) /users/profile.php?user=$1

【讨论】:

  • 好的,我想我可能搞错了,mod 重写是当你将 url 重新写入更容易的东西时,但是有没有创建一个更简单的 url 可以给出,所以虽然 www.somedomain.com/users/profile.php?user=myusername 是正确的 url,但如果有人访问了 www.somedomain.com/myusername 页面,它将转到更长的 url。如果这是有道理的,或者我现在只是让自己感到困惑:)
  • 好的,这是我的长网址:my-cv.info/profile.phpusern=stan003 这是我在 RewriteRule /(.*) profile.php?usern=$1 上的 httaccess 文件 RewriteEngine 中的代码,这是缩短的网址:www .my-cv.info/stan003 但是它显示一个 404,一旦我打开重写 css 就停止工作?
  • 谢谢,我试过了,虽然当我打开 rewrite 时我仍然得到一个 404,当你通过长 url 查看它时,它会弄乱个人资料页面上的 css
  • 我不是 htaccess 专家,所以我认为下一步是提出一个新问题,链接回此问题以供参考,然后发布此代码。我们的 Apache 专家应该能够根据您的需要对其进行改进。
【解决方案2】:

这称为“url 重写” - 有不同的方法可以做到这一点,例如使用apaches mod_rewrite。另一种方法是手动解析$_SERVER['REQUEST_URI'] - 即使mod_rewrite 未启用,这也会使您的网站正常工作,但还有一些工作要做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2010-12-25
    相关资源
    最近更新 更多