0

我有一个简单的脚本:

索引.php:

<?php

$path= $_SERVER['PATH_INFO'];

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

?>

当我像这样运行它时,www.website.com/index.php它可以工作。即)www.website.com/index.php/hello会回声/hello

但是,如果我去www.website.com/hello,当我想要的/hello是回显时,我会收到一个 URL not found 错误。

我如何做到这一点,这样index.phpPATH_INFO 就可以工作了?!

4

3 回答 3

1

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

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-03-01T23:19:10.623 回答
1

您将不得不根据您使用的服务器来重写 url 设置以使用干净的 url

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

这些线上的东西

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-03-01T23:21:11.920 回答
0

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

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

假设您使用的是 apache Web 服务器,您可以使用名为 *mod_rewrite* 的东西来执行此操作。在此处查看有关 mod_rewrite 的更多信息

对于要使用的特定规则,您可能想要使用 V_K 答案中的代码之类的东西。

于 2013-03-01T23:24:37.667 回答