pergunta htaccess sobre reescrever e redirecionar

pergunta htaccess sobre reescrever e redirecionar

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

informação relacionada