Стилизация в индексном файле не отображается при перезаписанном URL

#php #html #css

#php #HTML #css

Вопрос:

В настоящее время у меня есть веб-сайт, который перенаправляет на разные страницы, используя SEO-дружественные URL-адреса. Например, переписанный mysite.com/login на самом деле mysite.com/index.php?login . У меня это работает нормально, но оно не включает стили и включения скриптов, которые у меня есть в моем index.php

Я пытался сделать <script>console.log("Test")</script> в index.php , и он не отображается в консоли на переписанной странице.

Вот мой index.php

 <?php
echo '<script>console.log("Test")</script>';
//Check for more GET variables.
$url = $_SERVER['REQUEST_URI'];
$split = explode("?", $url);
if (isset($split[1])) {
    $newvarsarray = explode("amp;", $split[1]);
    foreach ($newvarsarray as $newvar) {
        $keyandvalue = explode("=", $newvar);
        if (isset($keyandvalue[1])) {
            $_GET[$keyandvalue[0]] = $keyandvalue[1];
        } else {
            $_GET[$keyandvalue[0]] = '';
        }

    }
} else {
    //No additional vars, leave $_GET alone.
}


include_once 'globalheader.html';
include_once 'header.html';

//This is the area where we handle the different states of the webpage and import them into here
if (empty($_GET)) {
    //Main homepage
    include_once 'mainpage.html';
} else if (isset($_GET['login'])) {
    //Login page
    include_once 'login.html';
} else if (isset($_GET['register'])) {
    //Register page
    include_once 'register.html';
} else if (isset($_GET['profile'])) {
    //Profile page
}

include_once 'footer.html';
include_once 'globalfooter.html';
?>
 

Вот импорт стиля моего globalheader.html

   <!--Global css imports-->
    <link rel="stylesheet" type="text/css" href="/normalize.css">
    <link rel="stylesheet" type="text/css" href="/globalstyle.css">
 

Вот мой .htaccess, если это поможет

 DirectoryIndex index.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^login$ index.php?login [NC]
    RewriteRule ^register$ index.php?register [NC]
</IfModule>
 

Он должен включать CSS как обычно, но вместо этого страница не имеет стиля и является просто стилями браузера по умолчанию.

Комментарии:

1. ваш путь хорош?

2. Кажется, это хорошо — если я перейду к нему в веб-браузере, я получу файл. Но похоже, что он не просто не включает стили, но и не включает ни один из index.php кроме того, где указано включить свою страницу из $_GET переменной.

3. Вы пробовали добавлять <base href=""> тег в свой globalheader.html ? developer.mozilla.org/en-US/docs/Web/HTML/Element/base