在下面的Apache / mod_rewriteconfiguration文件中,我得到了root / var / www /上的任何CGI脚本的403禁止错误。我没有得到任何静态文件的错误。
根目录的脚本,即/var/www/random/script.cgi正常工作,没有错误。
在RewritedEngineclosures的情况下,CGI脚本即使在root / var / www /
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks Options SymLinksIfOwnerMatch AllowOverride All <IfModule mod_rewrite.c> RewriteEngine on </IfModule> </Directory> <Directory /var/www/> Options +ExecCGI Options SymLinksIfOwnerMatch Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all AddHandler cgi-script .cgi DirectoryIndex index.cgi </Directory> <Files "index.cgi"> SetHandler perl-script PerlHandler ModPerl::PerlRunPrefork Options ExecCGI PerlSendHeader On allow from all </files>
尝试复制一个正在工作的脚本,看它是否工作,以防万一它不需要做的事情。 使用cp的-p标志来保存执行权限等内容。 例如:
cp -p /var/www/random/script.cgi /var/www/script.cgi