Переписать мод htaccess, чтобы переменные не принимали свои значения во включенных файлах - PullRequest
0 голосов
/ 13 апреля 2019

Недавно я добавил правило перезаписи мод в мой файл htaccess для обработки страниц категорий.После получения помощи на этом сайте htaccess работает нормально.Однако после того, как я реализовал новый htaccess, я заметил два разных конфликта / проблемы, возникающих в моем скрипте.

1] Мне пришлось изменить все функции include (), ссылки на скрипты и источники изображенийот путей до полных URL-адресов для работы скрипта, хотя я добавил <base href="/" /> чуть ниже <head>.

2] Переменные во включаемых файлах, либо через include();, либо eval('?>'.file_get_contents($topad).'<?php;');, больше не предполагают, что их значения предварительно установлены на странице, к которой они обращаются.

Например:

До добавления правила перезаписи вhtaccess файл, приведенный ниже, работал нормально, когда включался с использованием include() ... но после, хотя форма вызывается на страницу, переменные $level и $page_url не принимают своих значений.

echo '<form action="'.$level.'core/login/login.php" method="POST">';
    echo '<input type="hidden" name="returnto" value="'.$page_url.'">';
        echo '<div class="login-form-wrap">';
            echo '<fieldset><legend>Member Login</legend>';
                echo '<p>';
                echo '<label>Email</label>';
                echo '<input name="email" class="col_12" type="text" placeholder="Enter Email..." />';
                echo '</p>';

                echo '<p>';
                echo '<label>Password</label>';
                echo '<input name="password" class="col_12" type="password" placeholder="Enter Password..." />';
                echo '</p>';

                echo '<p>';
                echo '<input name="submitit" type="submit" class="button radius text-center expand" value="Log In">';
                echo '</p>';
            echo '</fieldset>';

            # forgot links
            echo '<p class="center">';
                echo '<span class="get-pass forgot-link" title="">Forgot Password</span> | ';
                echo '<span class="go-home forgot-link" title="">Go to Home Page</span>';
            echo '</p>';
        echo '</div>';      
    echo '</form>';

Если я помещу форму в файл, она будет работать нормально.

Однако ...

Следует отметить, что файл формыпомещен в сам по себе файл, называемый тчерез функцию include(); и, хотя файл вызывается через include();, все работает просто отлично.

Я понятия не имею, как решить эту проблему ... ваша помощь очень ценится.

Рабочий доступ:

# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymlinks -MultiViews
Options +SymLinksIfOwnerMatch -MultiViews
RewriteEngine On
RewriteBase /

# http -> https
RewriteCond %{HTTP_HOST} s8w\.org [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

# skip files and directories from rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^category/(.*)$ category.php?title=$1 [QSA,L,NC]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

RewriteRule ^(.+)$ index.php?title=$1 [QSA,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...