Обычно мы используем следующий код для включения php файлов друг в друга:
<?php
include_once 'include/config.php';
// OR
include 'include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'include/config.php';
// ect...
?>
Но приведенные выше коды применяются только в том случае, если файлы php находятся в корневом файле. Я имею в виду, если мы переместим наши файлы в подпапку. Нам нужно внести изменения в код, который мы включили в php файлы. Например, например:
<?php
include_once 'subfolder/include/config.php';
// OR
include 'subfolder/include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'/subfolder/include/config.php';
// ect...
?>
Я говорю, что когда мы перемещаем наши php файлы во вложенную папку, тогда include_once хочет видеть имя подпапки, например (include_once 'subfolder/include/config.php';
). Это сложная ситуация, потому что нам нужно сделать это для включенной страницы во многих файлах.
Например, я включаю include_once $_SERVER['DOCUMENT_ROOT'].'/functions/includes.php';
из index.php
а также включил этот файл header.php, posts.php, and ajax_post.php
из всех php файлов, таких как header.php, posts.php, and ajax_post.php
. Он отлично работает в корневой папке, но если мы перемещаем файлы в подпапке, то файл include.php не включается без имени подпапки.
Возможно, это также возможно сделать с помощью .htaccess
.
Я сделал этот код htaccess, возможно, у вас есть решение с htaccess. Должен сказать, что я попытался использовать RewriteBase/subfoldername/
но включить файлы не удалось.
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,NE,L]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*)index\.php$ /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^group/([\w-]+)/?$ sources/group.php?group_username=$1 [L,QSA]
RewriteRule ^profile/([\w-]+)/?$ sources/user_profile.php?username=$1 [L,QSA]
RewriteRule ^profile/(followers|friends|photos|videos|locations|musics)/([\w-]+)/?$ sources/$1.php?username=$2 [L,QSA]
RewriteRule ^admin/(.*)$ admin/index.php?page=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
RewriteRule ^(.+?)/?$ index.php?pages=$1 [L,QSA]
Моя ответственность заключается в том, как включить php файлы без имени подпапки?