Недавно я добавил правило перезаписи мод в мой файл 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]