Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: .htaccess: Illegal option
 
 автор: Caps   (15.08.2005 в 23:25)   письмо автору
 
 

Здравствуйте!
Установлено: Win2000 V5.0, Apache/1.3.33 (Win32), php-4.3.10-Win32.

В логе выводится: "z:/home/shop/.htaccess: Illegal option "
Если удалить .htaccess из директории, то (естественно) не работают php-скрипты
(не определяются функции).

директивы:

httpd.conf:
*****************************************
<Directory z:/home/shop>
Options Indexes Includes
AllowOverride All
Allow from all
</Directory>

<VirtualHost shop>
DocumentRoot "z:/home/shop"
ServerName shop
AccessFileName .htaccess
</VirtualHost>
*******************************************

hosts:
*************************************************
127.0.0.1 localhost
127.0.0.2 shop

**************************************************
Может ли кто-нибудь помочь?

   
 
 автор: cheops   (16.08.2005 в 01:46)   письмо автору
 
   для: Caps   (15.08.2005 в 23:25)
 

>Если удалить .htaccess из директории, то (естественно) не работают php-скрипты
>(не определяются функции).
А почему, разве в httpd.conf не прописано, что следует выполнять PHP-скрипты?

   
 
 автор: Caps   (16.08.2005 в 12:47)   письмо автору
 
   для: cheops   (16.08.2005 в 01:46)
 

>А почему, разве в httpd.conf не прописано, что следует выполнять PHP-скрипты?
Дело в том, что в .htaccess определяется обработчик скриптов PHP.
Содержимое .htaccess:
*********************************************************************
#<?Inc("_Blanks")?>
#<?Uses("_PostProc")?>
#<?AddPostProcFunc("gzip_content")?>
#<?Block("DefaultGlue"," / ")?>
#<?Block("Template","default.htm")?>

# Связываем имя обработчика с конкретным файлом.
Action templhandler "/_Kernel/Template/TemplateHandler.php"
# Документы этого типа мы желаем "пропускать" через наш обработчик.
AddHandler templhandler .html

IndexIgnore _*
Options - Indexes MultiViews

DirectoryIndex index.html

<FilesMatch "^_">
#<FilesMatch "^\.ht">
order deny,allow
deny from all
</FilesMatch>
****************************************************************************

   
 
 автор: glsv (Дизайнер)   (18.08.2005 в 10:12)   письмо автору
 
   для: Caps   (16.08.2005 в 12:47)
 

Уберите пробел между тире и Indexes. Должно быть вот так:

Options -Indexes MultiViews 

   
 
 автор: Caps   (20.08.2005 в 00:12)   письмо автору
 
   для: glsv (Дизайнер)   (18.08.2005 в 10:12)
 

Благодарю всех, кто ответил.
К сожалению, по техническим причинам, я не мог ответить сразу.
На данный момент тема вопроса несколько изменилась.
Мне пришлось заново переустанавливать сервер, а также и всё содержимое
хостов на локалке.
Сейчас проблема выглядит так:

httpd.conf:
***************************************
#RemoveHandler .html .htm /наличие или отсутствие этой строки не меняет реакцию сервера
#чтобы выполнялся PHP в html- файлах вводится директива:
AddType application/x-httpd-php .php .html
******************************************
Но, вместо того, чтобы обрабатывать html-файл, как PHP, выскакивает окошко с вопросом о
загрузке данного файла на комп (открыть или сохранить на диске).
Что же здесь не правильно?

   
 
 автор: glsv (Дизайнер)   (20.08.2005 в 06:48)   письмо автору
 
   для: Caps   (20.08.2005 в 00:12)
 

А сам php подключен?
Что-нибудь вроде этого

LoadModule php4_module "modules/php4apache.dll"

Найдите где расположен php4apache.dll и укажите путь к нему. Строка выше подразумевает, что он установлен в директории с Apache в папке modules

Эту строку нужно поместить в ту часть httpd.conf, где подключаются все другие модули

   
 
 автор: Caps   (20.08.2005 в 13:35)   письмо автору
 
   для: glsv (Дизайнер)   (20.08.2005 в 06:48)
 

файл php4apache.dll первоначально отсутствовал в папке apache/modules/.
Я скопировал его из папки дистрибутива php-4.3.10-Win32
После запуска сервер выдал сообщение об ошибке синтаксиса:
***********************************************************************************
cannot load d:/program files/apache group/apache/modules/php4apache.dll into server
***********************************************************************************

фрагмент httpd.conf
**************************************************************
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule status_module modules/mod_status.so
#LoadModule info_module modules/mod_info.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule digest_auth_module modules/mod_auth_digest.so
#LoadModule digest_module modules/mod_digest.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule unique_id_module modules/mod_unique_id.so
****************** ОШИБКА ЗДЕСЬ***************************
LoadModule php4_module modules/php4apache.dll
**********************************************************
#
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
#
# The modules listed below, without a corresponding LoadModule directive,
# are static bound into the standard Apache binary distribution for Windows.
#
# Note: The order in which modules are loaded is important. Don't change
# the order below without expert advice.
#
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE, UPDATE THIS TOO!]
ClearModuleList
#AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
#AddModule mod_status.c
#AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_isapi.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
#AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
#AddModule mod_auth_anon.c
#AddModule mod_auth_dbm.c
#AddModule mod_auth_digest.c
#AddModule mod_digest.c
#AddModule mod_proxy.c
#AddModule mod_cern_meta.c
#AddModule mod_expires.c
#AddModule mod_headers.c
#AddModule mod_usertrack.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
***********************************************************************
AddModule php4apache.dll /наличие этой строчки не повлияло на результат
***********************************************************************

   
 
 автор: glsv (Дизайнер)   (21.08.2005 в 19:18)   письмо автору
 
   для: Caps   (20.08.2005 в 13:35)
 

Вам еще нужен файл php4ts.dll
Перепишите его в ту же директорию, где лежит apache.exe

А в папке с php у вас есть файл install.txt?
Найдите там раздел

Installing PHP for Apache as module

В нем Вы найдете директивы для установки (если предыдущий совет не поможет).

   
 
 автор: Caps   (15.09.2005 в 13:04)   письмо автору
 
   для: glsv (Дизайнер)   (21.08.2005 в 19:18)
 

Неожиданно для себя я обнаружил, что вышеописанная проблема возникает только когда
я захожу в Windows как полбзователь с ограниченными правами.
Если же я вхожу, как администратор, то всё в порядке.
Похоже, что моя проблема в очередной раз видоизменилась.
Ситуация на данный момент такая.
Есть виртуальный хост:
*********************************************
<VirtualHost shop>
ServerAdmin support@myhost.ru
DocumentRoot "z:/home/shop"
AccessFileName .htaccess.txt
ServerName shop
ErrorLog logs/shop_com-error_log
CustomLog logs/shop_com-access_log common
</VirtualHost>
*********************************************
Есть .htaccess.txt:
*********************************************
#<?Inc("_Blanks")?>
#<?Uses("_PostProc")?>
#<?AddPostProcFunc("gzip_content")?>
#<?Block("DefaultGlue"," / ")?>
#<?Block("Template","default.htm")?>

# Связываем имя обработчика с конкретным файлом.
#Путь к файлу обработчика задан относительно DocumentRoot сервера
#Правильность пути много раз проверена.

Action templhandler "/_Kernel/Template/TemplateHandler.php"


# Документы этого типа мы желаем "пропускать" через наш обработчик.
AddHandler templhandler .html

IndexIgnore _*
Options -Indexes MultiViews

DirectoryIndex index.html

<FilesMatch "^_">
order deny,allow
deny from all
</FilesMatch>
*************************************************

При попытке открыть первую страничку сайта появляется 404-я ошибка.
Файл .htaccess.txt читается сервером, поскольку при том или ином изаенении содержимого
.htaccess.txt отклик сервера меняется.
Здесь, как уже, наверное ясно из листинга, идея в том, чтобы все файлы .html
обрабатываллиь обработчиком TemplateHandler.php.
Содержимое файла TemplateHandler.php никак не влияет на результат. Всегда поЯвляется та же
ошибка.

   
 
 автор: glsv (Дизайнер)   (16.08.2005 в 04:11)   письмо автору
 
   для: Caps   (15.08.2005 в 23:25)
 

А что у вас написано в .htaccess?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования