簡體   English   中英

為什么在.htaccess重定向后出現空的$ REQUEST_URI

[英]Why do I get empty $REQUEST_URI after .htaccess redirection

我嘗試根據自己的需要自定義http://alistapart.com/article/success中的說明-將所有* .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

$ REQUEST_URI,$ DOCUMENT_ROOT ...不是變量!

你應該使用

$_SERVER['REQUEST_URI']
$_SERVER['DOCUMENT_ROOT']
...

ps你可以簡單地:

var_dump($_SERVER);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM