** CONSULTE ACIMA ABAIXO *****
Meu site de domínio principal deve ser servido de um subdiretório no meu servidor com o mesmo nome do domínio, então provavelmente será confuso ler esse bloco confuso de meu webroot .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
# remove www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^.*$ %1 [NC,QSA,R=301]
#RewriteCond %{ENV:REDIRECT_STATUS} . [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?my\-web\.agency$
RewriteRule ^my-web.agency/ - [L,R=404]
RewriteRule !^my-web.agency/ my-web.agency/%{REQUEST_URI} [NC,QSA]
</IfModule>
Eu só estava trabalhando nisso há tanto tempo, alterando as regras e estruturando que aquele mangle é o que eu tenho atualmente.
O www. PERMANECE, de modo que pouco para removê-lo é totalmente ineficaz.
O! ^ my-web.agency / rule realmente serve efetivamente o site. NO ENTANTO, minha tentativa a seguir de renderizar um 404 se o subdiretório estiver incluído no URI FAILS.
Por favor, explique-me como resolver tudo isso. Eu estou tentando ler os documentos e aprender e descobrir, mas de alguma forma eu não posso e já coloquei bastante tempo nisso, eu realmente preciso parar, por favor me ajude, eu serei sempre grato a aprenda e tome nota cuidadosa. Muito obrigado.
***** ATUALIZAÇÃO: ** Agora eu tenho
# remove www, externally for consistent domains (successful)
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule .* http://[[percent]]1/$0 [NS,L,R=301,QSA]
RewriteCond %{HTTP_HOST} ^(www\.)?my\-web\.agency$
RewriteCond %{REQUEST_URI} ^my-web.agency
RewriteRule ^(.*)$ - [R=404,L,NC]
RewriteCond %{HTTP_HOST} ^(www\.)?my\-web\.agency$
RewriteCond %{REQUEST_URI} !^my-web.agency
RewriteRule ^(.*)$ /my-web.agency/$1 [L,NC,QSA]
Isso faz efetivamente o www. desaparecer se tentado. Mas todos os LINKS INTERNOS AINDA INCLUEM o subdiretório que deve estar oculto (por exemplo, links internos lidos " link "), e acessar páginas com o subdiretório no URI ainda funciona; Eu preferiria que retornasse um 404.
DocumentRoot ou RewriteBase parecem ser possíveis soluções lógicas, se eu pudesse descobrir a implementação correta.
(O [[percent]]
procedendo http: // no primeiro RewriteRule é permitir o uso do editor sem gerar erro; simplesmente indica %
.)