我有一个简单的脚本:
的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
?
答案 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答案中的代码。