我正在创建一个.htaccess文件来运行我正在测试的框架,但是当我尝试访问我的localhost时,框架文件所在的文件夹没有显示出来。
如果我尝试访问,请求localhost/my_hidden_folder/
会触发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>
两个文件夹/var/www/unlp
和/var/www/entrega2
都有相同的.htaccess文件,两者都是隐藏的。
.htacces文件中最基本的重定向在我的localhost中不起作用,但在服务器中有效。也许我禁用了模块?
答案 0 :(得分:1)
.htaccess中是否有+ FollowSymlinks?这通常会在已激活该选项的Linux系统上或在Windows上发生500错误。
答案 1 :(得分:0)
尝试运行phpinfo()以确保激活mod重写。 在您的Web根文件夹中创建简单的php文件,其中包含:
<?php
phpinfo();
?>