htaccess pergunta sobre reescrever e redirecionar

1

Eu tenho batido minha cabeça contra uma parede tentando fazer o que deveria ser bastante direto no .htaccess mas sem sucesso. Eu espero que alguém possa me ajudar.

Eu preciso conseguir 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) Esconda os subdiretórios "subdir1 / cgi-bin"

Por exemplo, quando alguém acessa www.sample.com, eles veem: www.sample.com/home.php

mas

O servidor realmente estaria lendo www.sample.com/subdir1/cgi-bin/home.php

Obrigado!

    
por adpinc 12.09.2016 / 13:28

1 resposta

0

Você pode ter um arquivo .htaccess com esta aparência:

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 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
    
por acknowledge 12.09.2016 / 14:51