Я создаю базовую систему маршрутизации wirth php. Я уже создал файл .htaccess со следующим кодом:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php [QSA,L]
</IfModule>
Я думал, что это проблема apache2. Я уже изменил файл apache2.conf
на:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ничего не меняется.
Я также пытался написать этот код в 000-defaul.conf:
<Directory /var/www/html/AppMostre/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
, когда я пытаюсь изменить страницу в навигационной панели, не работает, потому что он не переходит на страницу index.php.
Есть предложения?
Я заметил, что путь / относится к var / www / html, а не к пути моего единственного приложения.
Если я попытаюсь перенаправить на about.php, тогда URL станет следующим: http: //localhost/pages/about.phpMostreApp/
Теперь я вижу, что файл был красным, но это работает. Работает только индексный файл. Когда я перехожу на страницу about или на контакт, я не собираюсь открывать страницу, потому что я ищу такие страницы, как about или контакт, которых не существует.
Мой php-код:
include 'templates/head.php';
$request = $_SERVER['REQUEST_URI'];
if(strpos($request, '/mostreApp') !== false){
$request = str_replace('/mostreApp', "", $request);
}
switch ($request) {
case '/':
require __DIR__ . '/pages/home.php';
break;
case '':
require __DIR__ . '/pages/home.php';
break;
case '/about':
require __DIR__ . '/pages/about.php';
break;
case '/contacts':
require __DIR__ . '/pages/contacts.php';
break;
case '/registrati':
require __DIR__ . '/pages/registrati.php';
break;
case '/accedi':
require __DIR__ . '/pages/accedi.php';
break;
default:
http_response_code(404);
require __DIR__ . '/pages/404.php';
break;
}
процесс увеличения размера раздела подкачки и использования его для гибернации
Создание раздела подкачки
Активация раздела подкачки
Создание нового раздела подкачки для работы в спящем режиме (необязательно)
Создание раздела подкачки Загрузитесь с установочного компакт-диска Ubuntu и выберите возможность запустить Ubuntu сейчас. Перейдите в раздел «Система» -> Редактор разделов GParted
Удалите раздел подкачки и, если в нем больше ничего нет, расширенный раздел, в котором он находится. (Если каким-то чудом вы сможете изменить размер раздела подкачки отсюда, я полагаю, ваша жизнь будет намного проще, чем моя.) Уменьшите размер вашего основного раздела на величину, которую вы хотите, чтобы ваш новый своп был (я сделал свой 2x RAM + 500MB на всякий случай). Самый простой способ сделать это - заполнить пространство, которое вы хотите, чтобы своп был в поле «свободное пространство после». В свободном пространстве, которое теперь было создано, выберите новый, введите linux-swap и вы можете назвать раздел «swap», если хотите. Нажмите кнопку Применить (должна быть галочка), чтобы записать изменения на диск. Когда закончите, перезагрузитесь обратно в Ubuntu. Активация раздела подкачки (Если ваш своп находится на вашем основном жестком диске, вам не нужно здесь ничего делать.) Теперь вам нужно найти, в каком разделе находится ваш своп и каков его UUID. UUID ?! ты говоришь? Что ж, это универсальный уникальный идентификатор для раздела, так что вы можете ссылаться на него, даже если он находится в другой точке монтирования от загрузки к загрузке из-за добавления дисков и т. Д.
Откройте терминал и запустите gksu gparted & и введите свой пароль root. & Позволяет этому процессу работать, но при этом дает вам доступ к командной строке.
Щелкните правой кнопкой мыши раздел подкачки и выберите Информация . Вы должны увидеть Путь и UUID , перечисленные там. Оставьте это открытым для дальнейшего использования. Запустите gksu gedit / etc / fstab & и найдите строку, в которой есть swap . Это должен быть третий столбец, разделенный пробелами или табуляцией. Вы можете использовать путь или UUID, чтобы сообщить Linux, где найти свой раздел подкачки. Я рекомендую UUID, потому что он останется постоянным, даже если вы переместите раздел, или диск каким-то образом станет sdb вместо sda или что-то в этом роде. Внесите соответствующие изменения и сохраните файл. Ваша строка должна выглядеть примерно так, если вы использовали UUID (конечно, с вашим UUID):
UUID = 41e86209-3802-424b-9a9d-d7683142dab7 none swap sw 0 0
или это, если вы использовали path: / dev / sda2 none swap sw 0 0
Сохраните файл. Включите новый раздел подкачки с помощью этой команды.
sudo swapon --all
ИЛИ
$ sudo swapon --all --verbose
swapon on /dev/sda2
swapon: /dev/sda2: found swap signature: version 1, page-size 4, same byte order
swapon: /dev/sda2: pagesize=4096, swapsize=2147483648, devsize=2147483648
Confirm that the swap partition exists.
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 2097148 0 -1
Перезагрузитесь, чтобы убедиться, что новый раздел подкачки правильно активируется при запуске Заставить раздел подкачки работать для гибернации (необязательно) «ИНФОРМАЦИЯ: это не будет работать в 12.04, выход из спящего режима будет работать иначе в 12.04.»
Снова откройте терминал и запустите cat / proc / swaps, и, надеюсь, вы увидите путь к вашему разделу подкачки, указанному там. Если нет, скорее всего, что-то пошло не так в приведенных выше шагах. Вот мой результат:
Тип имени файла, размер используемого приоритета / dev / sda2 раздел 2676732 73380-1 gksu gedit / etc / default / grub & для загрузки конфигурации загрузчика
Найдите строку GRUB_CMDLINE_LINUX = "" и убедитесь, что она выглядит так (конечно, с использованием вашего UUID) GRUB_CMDLINE_LINUX = "resume = UUID = 41e86209- 3802-424b-9a9d-d7683142dab7 "и сохраните файл
sudo update-grub
и дождитесь его завершения
gksu gedit /etc/initramfs-tools/conf.d/resume & и убедитесь, что он содержимое - resume = UUID = 41e86209-3802-424b-9a9d-d7683142dab7 (конечно, с вашим UUID вместо моего). Сохраните файл!
sudo update-initramfs -u
Перезагрузитесь! Теперь вы можете перейти в спящий режим и продолжить работу!
htaccess также находится в каталоге / AppMostre
, тогда вам нужно удалить директиву RewriteBase /
, иначе он направит запрос на /index.php
в корне документа, а не /AppMostre/index.php
. Что предположительно приведет к ошибке 404.
Однако, если ваш файл .htaccess
находится в корне документа (родительский каталог / AppMostre
), вам нужно будет изменить Директива RewriteBase /
, чтобы читать:
RewriteBase /AppMostre
Или измените строку RewriteRule
susbstitution на AppMostre / index.php
.
В противном случае, опять же, он попытается направить запрос на /index.php
в корне документа, а не на /AppMostre/index.php
.
ОБНОВЛЕНИЕ:
Если я попробую перенаправить на о. php, тогда URL-адрес станет следующим:
http: //localhost/pages/about.phpMostreApp/
Откуда MostreApp
? Ранее вы использовали AppMostre
?
И вы ссылаетесь на mostreApp
в своем скрипте? Имейте в виду, что здесь учитывается регистр.