request_uri и массив таких вещей - PullRequest
1 голос
/ 09 июля 2011

У меня есть код, по которому мне нужна помощь.

    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=$VARIABLE до http://link.com/variable

У меня есть все .htaccess сделано и работает, что не будет проблемой.Проблема заключается в том, что когда я набираю http://link.com/testmore/index, эта страница не будет отображаться, а вместо 404.

1 Ответ

2 голосов
/ 09 июля 2011

Вы не должны выполнять какую-либо работу на странице PHP.Причина, по которой ваши страницы не работают, заключается в том, что ваш код .htaccess неверен.Попробуйте это:

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

Выше будет маскировать перенаправление http://link.com/testmore/index на http://link.com/index.php?page=testmore&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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...