0

我正在制作一个 .htaccess 文件来运行我正在测试的框架,但是当我尝试访问我的本地主机时,框架文件所在的文件夹没有显示出来。如果我尝试访问,请求localhost/my_hidden_folder/this 会触发 500 错误,内部服务器错误。

这种行为是我的 apache|.htaccess 配置错误的结果,我很确定,因为另一台服务器中的相同 .htaccess 可以正常工作。

这是我的.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

这是我的默认文件/etc/apache2/sites-available

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    <Directory /var/www/entrega2>
            AllowOverride All
    </Directory>
    <Directory /var/www/unlp>
            AllowOverride All
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这两个文件夹都具有相同的 .htaccess 文件,/var/www/unlp并且/var/www/entrega2都是隐藏的。

.htacces 文件中最基本的重定向在我的本地主机中不起作用,但在服务器中起作用。也许我禁用了一个模块?

4

2 回答 2

1

.htaccess 中有 +FollowSymlinks 吗?这通常会在已激活该选项的 Linux 系统或 Windows 上执行 500 错误。

于 2012-11-23T07:55:27.293 回答
0

尝试运行 phpinfo() 以确保 mod-rewrite 已激活。在您的 Web 根文件夹中创建简单的 php 文件,其中包含:

<?php
  phpinfo();
?>
于 2012-11-23T08:00:03.043 回答