minha pasta www tem o seguinte .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
minha pasta api (dentro da pasta www ) tem o seguinte .htaccess
RewriteEngine On
RewriteBase /api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /api/index.php [L]
Eu gostaria de redirecionar www para URLs não www, mantendo as regras para index.php. Já tentei muitas coisas sem sucesso...
O que eu tentei:
https://stackoverflow.com/questions/234723/generic-htaccess-redirect-www-to-non-www
Atualizar :
Acho que só preciso de uma sucessão de regras
Aquilo é :
1/ redirecione www para não www url e vá para 2
2/ Se o arquivo não existir -> redirecionar para index.php
RewriteEngine On
RewriteBase
%% Here redirect www to non www url %%
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Pelo que você afirmou nos comentários, não parece haver um requisito para manter dois
.htaccess
arquivos separados. Neste caso seria mais simples manter apenas um.htaccess
arquivo na raiz do documento (supondo que sejam parentes).Também estou fazendo as seguintes suposições sobre sua "API", o que também simplifica as diretivas:
/api/<anything>
devem ser encaminhadas para/api/index.php
/api/<file>
. (Afinal, é uma "API".)Você pode fazer algo como o seguinte no
.htaccess
arquivo raiz (e remover o/api/.htaccess
arquivo completamente).A
RewriteBase
diretiva não é necessária aqui.Observe que você deve primeiro testar com um redirecionamento 302 (temporário) para evitar possíveis problemas de cache. E você provavelmente precisará limpar os caches do seu navegador (e qualquer intermediário) antes de testar.
No entanto, uma pequena preocupação com isso (como mencionei nos comentários) é a implementação de um redirecionamento canônico para solicitações ao seu arquivo
/api/
. Os scripts que estão fazendo solicitações para uma API geralmente não seguem redirecionamentos - espera-se que essas solicitações já estejam sendo feitas para o URL canônico. Portanto, a implementação de um redirecionamento para essas solicitações pode interromper essas chamadas de API "incorretas" para o nome de host não canônico.