【问题标题】:Webpage: Use part of the URL as input网页:使用部分 URL 作为输入
【发布时间】:2013-02-04 20:09:53
【问题描述】:

页面http://www.dayscore.net 生成一个用户特定的密钥,该密钥附加到 URL 中,然后可以用作简单的身份验证方法。

遗憾的是,我无法找到它是如何工作的,以及是否可以在我的网络空间上构建类似的东西。我读过 .htaccess 重定向,但主要是关于简单地将页面从 A 重定向到 B。

我想做的是:

  • 用户调用URLhttp://www.mywebsite.com/foobar
  • 它在内部重定向到http://www.mywebsite.com/index.php
  • index.php可以查到用户叫foobar,根据这个输入做点什么
  • 重定向只是内部的,用户仍然在他的地址栏中看到http://www.mywebsite.com/foobar

这可以与实施的机制 DayScore 相媲美吗?
怎么可能实现这样的网页(.htaccess?)?

【问题讨论】:

    标签: php .htaccess redirect web


    【解决方案1】:

    您可以在根目录中的一个 .htaccess 文件中尝试此操作:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI}  /([^/]+)/?$  [NC]
    RewriteRule .*   index.php?key=%1  [L]
    

    静默地图

    http://www.mywebsite.com/val

    http://www.mywebsite.com/index.php?key=val

    其中key 是任何固定键名,val 是传入 URL 中的变量值。

    /val 必须是传入 URL 中的最后一个字符串,规则才能起作用。

    key 是脚本在 index.php 中使用$_GET['key'] 得到的。

    【讨论】:

    • 这确实有效。不幸的是,这不会静默映射(至少在 Chrome 24 中)。静音部分只是一个可选的东西,它会很酷,所以到目前为止非常感谢!
    • @MONsDaR 修改了我的答案。对不起。我提到它是一个静默映射,但错误地留下了永久重定向的标志。对于静默映射,右侧的标志是[L],对于永久重定向是[R=301,L],对于临时重定向是[R=302,L]
    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 2013-01-07
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2016-06-28
    • 2013-09-20
    • 2019-02-21
    相关资源
    最近更新 更多