FAQ з хостингу

1. Який charset і lang використовується при включенні директиви «use locale» в програмах на Perl?

charset і lang використовується відповідно до змінної оточення LANG. За замовчуванням це ru_UA, і koi8-ru. Якщо у Вас є своя locale, то можна використовувати її.

2. Як змусити працювати SSI в моїх сторінках?

За замовчуванням сервер розпізнає SSI директиви тільки в файлах з розширенням .shtml. Якщо Ви хочете, щоб вони розпізнавалися і в файлах з розширеннями, наприклад .html і .htm, потрібно додати в .htaccess:

AddHandler server-parsed .shtml .htm .html

3. Як правильно прописати SSI-команду «#exec cgi»?

<!--#exec cgi="/cgi-bin/script.pl"-->

Приклад неправильного варіанту, який не працюватиме:

<!--#exec cgi="http://mysite.com.ua/cgi-bin/script.pl"-->

4. Простий і точно правильний скрипт на Perl не працює з дивною діагностикою. Що може бути причиною?

Перевірте, чи не має файл “досовских” перекладів рядків. Нагадуємо, що в DOS рядки закінчуються двома байтами з шістнадцятирічними кодами 0A 0D, а в Unix тільки одним з кодом 0A. Візуально зайвий код може бути непомітний, але Perl буде відмовлятися виконувати таку програму. При пересиланні файлів по ftp в ascii mode проводиться автоматичне додавання (або прибирання, в залежності від напрямку пересилання) зайвого коду в кінці рядка.

5. Як зробити, щоб за замовчуванням завантажуються не index.html, а сторінка з іншим імʼям?

У .htaccess в директиві DirectoryIndex перерахуйте всі потрібні імена сторінок. За замовчуванням буде показуватися перша існуюча з цього списку.

Наприклад, потрібно, щоб за замовчуванням запускався скрипт default.php.

Додайте в .htaccess:

DirectoryIndex index.html default.php

Тепер якщо index.html буде відсутній в каталозі, за замовчуванням буде використовуватися default.php.

6. Як я можу організувати парольний доступ до моїх сторінок, використовуючи можливості веб-сервера Apache?

Ви можете прочитати про це в описі директив AuthType, AuthName, AuthUserFile, AuthGroupFile, Require в документації до Apache, а також читайте опис команди htpasswd.

Типовий приклад .htaccess:

AuthType Basic
AuthName "Restricted Directory"
AuthUserFile ../passwdAuthGroup
File ../group
Require valid-user

Зміст файлу group:

admin: admin

Зміст файлу passwd:

admin:pEBxmn19P0XBg

7. Я намагаюся передавати моєму скрипту шлях до файлу в якості параметра, але у мене нічого не виходить. В чому може бути проблема?

Наприклад, Ви бажаєте використовувати URL такого вигляду: http://www.site.ua/myscript/dir/file.html, де myscript — насправді php-скрипт myscript.php, а /dir/file.html — переданий йому параметр.

Для реалізації цієї технології Вам необхідно виконати наступні дії:

  • додати в Ваш .htaccess файл директиву MultiviewsMatch Handlers. Вона необхідна для того, щоб до файлу myscript.php можна було звертатися як до myscript;
  • в php.ini включити опцію cgi.fix_pathinfo = 1. Це необхідно для того, щоб змінна PATH_INFO оброблялася коректно. Саме її Ви можете використовувати для отримання інформації про шлях/параметри скрипту, який передається.