[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ErrorDocument и PHP-код внутри файлов
Faantoom
Всем доброго времени суток.
Столкнулся с такой проблемой, внутри страниц ошибок не выполняется php-код, идёт просто текстом в браузер.

Если вызываю файл ошибки напрямую:
www.сайт.ру/404.php

то страница ошибки генерируется нормально, а если же перейти по заведомо неправильной ссылке, например:
www.сайт.ру/рас-рас

то выводит php скрипт простым текстом. Как это исправить? Так как много раз видел, что люди даже прописывали в ErrorDocument файл с get-параметрами, а тут даже php не работает.

htaccess:
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag register_globals Off

ErrorDocument 404 /404.php
Options -Indexes

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$0 [L,QSA]
Сервер Apache 2.2.4 (win), php установлен как модуль.
Заранее спасибо.



Спустя 7 минут, 36 секунд (11.02.2012 - 20:47) dadli написал(а):
Цитата
то выводит php скрипт простым текстом

а каким именно текстом?

Спустя 1 минута, 39 секунд (11.02.2012 - 20:48) Faantoom написал(а):
Цитата
а каким именно текстом?

Исходник, без интерпретации

Спустя 6 минут, 37 секунд (11.02.2012 - 20:55) dadli написал(а):
даваи так скажем smile.gif
ви хотите что если урл не правилни, то откривать ...
что хотите откривать в етом случае ?

Спустя 1 минута, 26 секунд (11.02.2012 - 20:56) m4a1fox написал(а):
Значит сервак не работает. Сделатьте страницу. например try.php а в ней
<?php
phpinfo();
?>

И гляньте что в ней...

Спустя 6 минут, 46 секунд (11.02.2012 - 21:03) Faantoom написал(а):
dadli, попробую обьяснить понятнее :)
В корне сайта лежит файлик 404.php, в нём находится некий код, например тот же "Привет мир", не столь важно.

При переходе по неправильной ссылке должна показываться эта страничка. Если запрашиваю её прямо - вывод правильный:
Hello World!
Если же перехожу по неправильной ссылке, то вместо этого в браузере показывается исходный код скрипта:
<?php echo 'Hello World'; ?>

m4a1fox, сервак работает, все скрипты правильно выполняются при их прямых запросах, функа phpinfo() выводит то, что и должна выводить. А вот именно с файлами ошибок такая трабла.

Спустя 28 минут, 55 секунд (11.02.2012 - 21:32) Гость_Dexter написал(а):
100% дело в конфиге =)

Спустя 10 часов, 17 минут, 45 секунд (12.02.2012 - 07:50) VELIK505 написал(а):
open base dir дирректория в конфиге апача в ней проблема.
Покажи конфиг апача.

Спустя 14 минут, 32 секунды (12.02.2012 - 08:04) TranceIT написал(а):
Что-то я никогда не видел страницы ошибок на PHP. Что за скрипты у вас там?

Спустя 7 часов, 27 минут, 15 секунд (12.02.2012 - 15:32) Faantoom написал(а):
VELIK505, конфиг апача:
Свернутый текст
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "C:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the
# server as "C:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log".
#
# NOTE: Where filenames are specified, you must use forward slashes
# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
# If a drive letter is omitted, the drive on which Apache.exe is located
# will be used by default. It is recommended that you always supply
# an explicit drive letter in absolute paths, however, to avoid
# confusion.
#

ThreadsPerChild 250
MaxRequestsPerChild 0

ServerAdmin admin@localhost
ServerName localhost
ServerSignature On
ServerTokens Full
ServerRoot "C:/server/system/Apache"
DocumentRoot "C:/server/system/home"

Listen 127.0.0.1:80
Listen 8080

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule php5_module "C:/server/system/php5/php5apache2_2.dll"

AccessFileName .htaccess

<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Satisfy all
</Directory>

<IfModule
dir_module>
DirectoryIndex index.php index.htm index.html index.shtm index.shtml
</IfModule>

<FilesMatch
"^\.ht">
Order allow,deny
Deny from all
</FilesMatch>

ErrorLog logs/error.log
LogLevel warn

<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>

CustomLog logs/access.log common
</IfModule>

<IfModule
alias_module>

ScriptAlias /cgi-bin/ "C:/server/system/home/cgi-glob/"
ScriptAlias /cgi-glob/ "C:/server/system/home/cgi-glob/"

</IfModule>

DefaultType text/html

<IfModule mime_module>
TypesConfig conf/mime.types

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddHandler cgi-script .cgi .pl .py
AddType application/x-httpd-php .php .php5 .phtml

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml .html
</IfModule>

Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-info.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-ssl.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

AddDefaultCharset WINDOWS-1251

ReadmeName README.html
HeaderName HEADER.html

TranceIT, да там просто разбор адреса с выводом возможных поправок, и кое-какие мелочи по сбору статистики.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.