PHP中的PATH_INFO没有文件明显

时间:2013-03-01 23:16:15

标签: php pathinfo

我有一个简单的脚本:

的index.php:

<?php

$path= $_SERVER['PATH_INFO'];

if($path)
  echo $path;
else
  echo "No Path Info";

?>

当我像www.website.com/index.php那样运行时,它可以工作。 ie)www.website.com/index.php/hello将回显/hello

但是,如果我转到www.website.com/hello,当我想要的是/hello被回显时,我会收到一个未找到网址的错误。

如何制作,以便PATH_INFO不必出现index.php

3 个答案:

答案 0 :(得分:1)

如果您使用的是apache Web服务器 - 请在.htaccess中编写此规则..

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]

答案 1 :(得分:1)

您必须在网址设置中重写,具体取决于您使用干净网址的服务器

检查此http://wettone.com/code/clean-urls

这些内容

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]

答案 2 :(得分:0)

从服务器请求网页时。服务器查看路径(例如example.com/this/is/a/path)以确定要提供哪个文件以及从哪里提供。

据我了解,您要做的是让index.php处理所有请求。这样做的方式是使用 URL重写

假设您使用的是apache Web服务器,则可以使用名为* mod_rewrite *的内容来执行此操作。 See more on mod_rewrite here

对于要使用的特定规则,您可能希望使用类似V_K答案中的代码。