我尝试自定义http://alistapart.com/article/succeed中的说明 根据我的需要 - 将所有* .html页面重定向到解析URL的dispatcher.php文件中。
在我的.htaccess文件中,我添加了
RewriteRule ^(.*)\.(html)$ dispatcher.php [L,NC]
但是dispatcher.php中的所有参数都是空的:
echo "1. " . $REQUEST_URI . "<br />";
echo "2. " . $DOCUMENT_ROOT . "<br />";
echo "3. " . $SCRIPT_FILENAME . "<br />";
为什么我不接受这些参数?
同时我通过使用以下内容来避免此问题: 在.htaccess中 -
RewriteRule ^(.*)\.(html)$ dispatcher.php?u=$1 [L,NC]
和dispatcher.php -
$u = $_GET['u']; // and use this $u parameter . . .
原始示例代码:
RewriteRule !.(gif|jpg|png|css)$ /your_web_root/index.php # in .htaccess
if(file_exists($DOCUMENT_ROOT.$REQUEST_URI)
and ($SCRIPT_FILENAME!=$DOCUMENT_ROOT.$REQUEST_URI)
and ($REQUEST_URI!="/")){ . . . // in index.php
答案 0 :(得分:1)
$ REQUEST_URI,$ DOCUMENT_ROOT ... 不是变量!
你应该使用
$_SERVER['REQUEST_URI']
$_SERVER['DOCUMENT_ROOT']
...
P.S。你可以简单地说:
var_dump($_SERVER);