テストしているフレームワークを実行するために.htaccessファイルを作成していましたが、ローカルホストにアクセスしようとすると、フレームワークのファイルが配置されているフォルダーが表示されませんでした。アクセスしようとすると、これを要求すると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ファイルの最も基本的なリダイレクトは機能しませんが、サーバーでは機能します。たぶん私はモジュールを無効にしていますか?