Tenho batido a cabeça contra a parede tentando fazer o que deveria ser bastante simples no .htaccess, mas sem sucesso. Espero que alguém possa me ajudar.
Preciso alcançar 3 coisas básicas: 1) Redirecionar meu domínio www.sample.com para www.sample.com/subdir1/cgi-bin/ 2) Se a página for NULL ou index.html, carregue o script home.php 3 ) Oculte os subdiretórios "subdir1/cgi-bin"
Por exemplo, quando alguém acessa www.sample.com, verá: www.sample.com/home.php
mas
O servidor estaria realmente lendo www.sample.com/subdir1/cgi-bin/home.php
Obrigado!
Responder1
Você pode ter um arquivo .htaccess parecido com este:
Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
# When accessing root
DirectoryIndex subdir1/cgi-bin/home.php
# Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . subdir1/cgi-bin/home.php
Então você precisa ter certeza de que seu servidor Apache autoriza a reescrita. Para conseguir isso, edite o arquivo/etc/apache2/apache2.conf. Neste arquivo, encontre o diretório que você usa e altere "AllowOverride None" por "AllowOverride all". Aqui está um exemplo :
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
Depois disso, ative o módulo de reescrita do Apache executando:
sudo a2enmod rewrite
No final, reinicie o Apache:
sudo service apache2 restart