Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 网页:使用部分URL作为输入_Php_.htaccess_Redirect_Web - Fatal编程技术网

Php 网页:使用部分URL作为输入

Php 网页:使用部分URL作为输入,php,.htaccess,redirect,web,Php,.htaccess,Redirect,Web,该页面生成一个附加到URL的用户特定密钥,然后可以用作简单的身份验证方法 遗憾的是,我无法找到这是如何工作的,以及是否有可能在我的Web空间上构建类似的东西。我读过关于.htaccess重定向的文章,但主要是关于将页面从a重定向到B 我想做的是: 用户调用URLhttp://www.mywebsite.com/foobar 它在内部重定向到http://www.mywebsite.com/index.php 在index.php中,可以发现用户调用了foobar,并根据此输入执行操作 重定向只

该页面生成一个附加到URL的用户特定密钥,然后可以用作简单的身份验证方法

遗憾的是,我无法找到这是如何工作的,以及是否有可能在我的Web空间上构建类似的东西。我读过关于.htaccess重定向的文章,但主要是关于将页面从a重定向到B

我想做的是:

  • 用户调用URL
    http://www.mywebsite.com/foobar
  • 它在内部重定向到
    http://www.mywebsite.com/index.php
  • index.php
    中,可以发现用户调用了
    foobar
    ,并根据此输入执行操作
  • 重定向只是内部的,用户仍然可以看到
    http://www.mywebsite.com/foobar
    在他的地址栏中
这与实施的技工日分数可比吗?

如何实现这样一个网页(.htaccess?)呢?

您可以在根目录中的一个.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中的最后一个字符串,规则才能工作


是脚本通过index.php中的
$\u GET['key']
获得的

您可以在根目录中的一个.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中的最后一个字符串,规则才能工作


是脚本通过index.php中的
$\u GET['key']
获得的

这确实有效。不幸的是,这不是无声映射(至少在Chrome24中是这样)。沉默的部分只是一个可选的东西,这将是很酷的,所以非常感谢到目前为止@蒙斯达尔修改了我的回答。很抱歉我提到了它是一个静默映射,但由于错误,它留下了永久重定向的标志。对于静默映射,右侧的标志是
[L]
,对于永久重定向是
[R=301,L]
,对于临时重定向是
[R=302,L]
。这确实有效。不幸的是,这不是无声映射(至少在Chrome24中是这样)。沉默的部分只是一个可选的东西,这将是很酷的,所以非常感谢到目前为止@蒙斯达尔修改了我的回答。很抱歉我提到了它是一个静默映射,但由于错误,它留下了永久重定向的标志。对于静默映射,右侧的标志是
[L]
,对于永久重定向是
[R=301,L]
,对于临时重定向是
[R=302,L]