Nascondi una cartella dall'URI con riscrittura in un file .htaccess
-
21-12-2019 - |
Domanda
apprezzerei davvero se potessi aiutarmi a costruire il mio file .htaccess.
Quello che voglio raggiungere qui sta spostando tutti i file e le cartelle del mio dominio su una sottocartella radice ("MyDomain") e assicurati che l'URL visibile ai miei visitatori sia ancora
domain.com/file.extention
.
invece di
domain.com/mydomain/file.extention
.
o
domain.com/subfolder/file.extention
.
invece di
domain.com/mydomain/subfolder/file.extention
.
Questo è il mio albero delle cartelle:
/
/mydomain
/subfolder
index.php
test.php
.
Ed ecco il mio attuale file .htaccess:
<IfModule mod_rewrite.c>
# System symbolic links are allowed.
Options +FollowSymlinks
# Runtime rewriting engine enabled.
RewriteEngine On
#
# BEGIN DOMAIN
#
# Make 'mydomain' subfolder the root folder for the domain.
RewriteCond %{HTTP_HOST} ^((www\.)?domain\.com) [NC]
RewriteRule ^\/?$ mydomain/ [NC,L,S=1]
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/?mydomain/ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ mydomain/$1 [NC,L]
#
# END DOMAIN
#
</IfModule>
.
Il problema qui è che funziona quando navigo per
domain.com/subfolder/
.
ma non con
domain.com/subfolder
.
e con
domain.com/index.php
.
ma non con
domain.com/test.php
.
Grazie a tutti,
Matteo
Soluzione
Modifica domain.com/mydomain/file.extenzione a dominio.com/file.Extimento
Usa questo ad esempio
RewriteRule ^mydomain/(.+)$ http://www.domain.com/ [R=301,L]
.
Ma se reindirizza il lavoro solo per alcune pagine, controllare che tu debba chiarire la cache del browser o usa un altro invece
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow