【问题标题】:request_uri and array those kind of stuffrequest_uri 和数组这些东西
【发布时间】:2011-07-08 21:20:34
【问题描述】:

我有一个需要帮助的代码。

    if ($_SERVER['REQUEST_URI'] == '/testmore/' || $_SERVER['REQUEST_URI'] == '/testmore/home') { $_SERVER['REQUEST_URI'] = '/testmore/index'; }

    echo $_SERVER['REQUEST_URI']; echo '<br>';


    $page = $_SERVER['REQUEST_URI'];

    function dostuff($pagesC) { echo 'yes!<br>'; echo $pagesC.'<br>'; }


    $pageArray = Array('index', 'login'); 

$directory = '/testmore/'; // Directory if in one. Otherwise, leave it as '/'.  

    $uriArray = explode('/', strstr($_SERVER['REQUEST_URI'], $directory));
      if (in_array($uriArray[0], $pageArray)) {
        dostuff($uriArray[0]); } else {
        echo '404'; }

这使用 URI 请求,它从 http://link.com/index.php?page=$VARIABLEhttp://link.com/variable

我已经完成了所有.htaccess 并正在工作,这不会是一个问题。 问题是当我输入 http://link.com/testmore/index 时,它不会显示指定的页面,而是显示 404 页面。

【问题讨论】:

    标签: php uri


    【解决方案1】:

    您不必在 PHP 页面中做任何工作。您的页面无法正常工作的原因是您的 .htaccess 代码不正确。试试这个:

    RewriteRule ^(.*?)/(.*?)$ index.php?page=$1&sub=$2 [L]
    RewriteRule ^(.*?)$ index.php?page=$1 [L]
    

    以上将屏蔽重定向http://link.com/testmore/indexhttp://link.com/index.php?page=testmore&amp;sub=index。它还会将http://link.com/variable 重定向到http://link.com/index.php?page=variable

    $uriArray = explode('/', $_SERVER['REQUEST_URI']);
    if (in_array($uriArray[1], $pageArray)){
         dostuff($uriArray[1]);
    else
         echo '404';
    

    【讨论】:

    • 我不确定你在说什么,但我想要的是http://link.com/testmore/index atm 不多不少。 OP 中的代码是我的 index.php for /testmore/
    • 编辑您的 .htaccess 文件以使用上面的代码,您的 PHP 文件中不需要所有向导代码...
    • 好的,如果你不看代码,我没有任何GET 请求。我只是想使用REQUEST_URI 来制作http://link.com/testmore/variable 而不是使用GET。我也尝试过使用GET,但它从未奏效。我现在要问的只是让 404 显示正确的页面。否则一切正常。
    • 我确实添加了它。但我不知道你想做什么。
    • 我知道是$uriArray = explode($directory, $_SERVER['REQUEST_URI']);
    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多