禁止访问:无法访问/在服务器上

时间:2014-04-14 09:25:03

标签: linux perl .htaccess mod-rewrite

我目前正在将客户端站点转移到我们的服务器,包括域,因此它具有相同的URL等。但是在传输所有文件并更改.htaccess文件以匹配在旧服务器上,我正在收到错误消息You don't have permission to access / on this server,我不确定为什么?需要注意的一点是,将第一行从Options -Indexes更改为Options +Indexes可以解决这个问题,但我会在Index of /页面上看到错误消息,而不是错误消息。另一种可能性,但是将托管平台从Linux切换到Windows可以解决这些问题吗?

Options -Indexes
ErrorDocument 500 /error

<Files ~ "\.pm$">
   Order allow,deny
   deny from all
</Files>

<Files ~ "\.template$">
   Order allow,deny
   deny from all
</Files>

<Files ~ "\.tmpl$">
   Order allow,deny
   deny from all
</Files>

<Files ~ "\.log$">
   Order allow,deny
   deny from all
</Files>

<Files ~ "\.revid$">
   Order allow,deny
   deny from all
</Files>


RewriteEngine On
RewriteCond %{REQUEST_URI} ^/index.pl
RewriteCond %{QUERY_STRING} ^browse=show_contact$
RewriteRule ^(.*)$ http://THE_DOMAIN_IS_HERE/formmail2.pl? [R=301,L]

我尝试的另一件事是添加DirectoryIndex index.pl,然后又会出现另一条错误消息cannot execute script...etc etc etc...index.pl。我不确定该怎么做,所以关于如何纠正这个问题的任何建议都将受到大力赞赏!

1 个答案:

答案 0 :(得分:1)

答案很简单,因为你在Linux上

您的/var/www/index.pl只有错误的权限 这就是为什么它不能执行但/可以显示! 你需要做sudo chown rightuser:rightgroup / var / www中的文件 甚至使mod_perl能够执行perl

为了给你一个更完整的答案,我需要知道以下内容   - 1.错误记录我在您的问题评论中要求的内容   - 2.您正在使用的操作系统   - 3.您正在使用的Web服务器,其确切版本是自编译的或Linux版本的软件存储库。   - 4.如果你的linux版本和apache2只是做     sudo ps aux | grep apache 其他     sudo ps aux | grep httpd   - 5.发布所有这些,以便我可以帮助你