2010-07-07 2 views
0

Попытка получить простой тестовый скрипт perl. Есть следующие файлы структура/папок на общий хостинг:.htaccess головная боль с perl-скриптом?

~/public_html/

  • .htaccess

~/public_html/поиск Право доступ: «drwxrwxrwx 2 MyUserName myusername "

  • .htaccess
  • lookup.pl * Права доступа: "-rwxr-хт-х MyUserName MyUserName"

Первый .htaccess содержит:

# disable directory browsing 
Options All -Indexes 

RewriteEngine on 
RewriteBase/
RewriteRule ^(r)$ $1/ [R] 
RewriteRule ^(r)/(.*)(\.[a-z]+)$ redirect.php?$1 [L] 
RewriteRule ^(r)/(.*)$ redirect.php?$1 [L] 

Второй .htaccess содержит:

RewriteEngine On 
RewriteBase /lookup 

RewriteCond %{REQUEST_URI} !^/lookup/lookup.pl [NC] 
RewriteCond %{REQUEST_URI} !\.(css|png|jpg|gif)$ [NC] 
RewriteRule ^(.*)$ lookup.pl/$1 [QSA,NC] 

Но прямой доступ к: www.mysite.com/lookup/lookup.pl не работает и показывает «Внутренняя ошибка сервера 500»

+0

В чем ваш error_log сообщает вам об ошибке lookup.pl? – Prix

+0

[Wed Jul 07 TIME] [error] [client IPADDRESS] Файл не существует: /home/myusername/public_html/500.shtml – RubiCon10

+0

Есть ли еще записи журнала ошибок до того, что вы опубликовали? Это сообщение об ошибке означает, что пользовательская страница с сообщением об ошибке не найдена. Это ошибка, связанная с отображением ошибки ... :-) – Mike

ответ

0

Просто грубое предположение, потому что я не знаю вашей полной конфигурации: вы используете сайт под suEXEC (с VirtualHost с User или Group директивами)?

В этом случае вы не можете запустить сценарий, потому что каталог, в котором он хранится, доступен для записи в мире, что не подходит SUEXEC, и в error_log не отображается сообщение об ошибке (как указал Майк, сообщение об ошибке, которое вы указали не относятся к реальной ошибке, а к ошибке, представляющей вам правильную страницу с ошибкой), но в suexec_log, который большинство людей обычно не консультируется.

+0

Привет JOnas - это на общедоступной учетной записи хостинга ... – RubiCon10

+0

В этом случае вы вряд ли будете работать под suEXEC, потому что это более или менее стандарт для запуска CGI в общем хостинге. Исправьте разрешения каталога «lookup» от 777 (rwxrwxrwx) до 755 (rwxr-xr-x). – Jonas

+0

Убейте меня ... ошибка была в том, что на самом деле это были две строки (но должно было быть ТРИ) ... (LINE1) #!/Usr/bin/perl use CGI :: Carp qw (fatalsToBrowser); (LINE2) print "Content-type: text/html \ n \ n"; – RubiCon10

Смежные вопросы