V súčasnosti používam zdieľaný hosting a nemôžem dať svoje súbory mimo priečinka "public_html".
Ak to chcete vyriešiť, chcem prepísať svoj "koreňový" web do podadresára pomocou skriptu nižšie v súbore .htaccess:
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1
Čo funguje skvele, s výnimkou, keď som sa pohyboval www.example.com/subdir/, Táto adresa URL nie je presmerovaná nikde, jednoducho sa zobrazí podadresár. Toto je problém pre relatívne adresy URL a podobne.
Existuje spôsob, ako pokračovať v prepísaní môjho koreňa na podadresár a súčasne aj pri prepisovaní www.example.com/subdir/ na www.example.com?
odpovede:
1 pre odpoveď č. 1Toto pravidlo môžete použiť v koreňovom .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subdir/ [NC]
RewriteRule ^(.*)$ subdir/$1 [L]
A použite toto pravidlo v /subdir/.htaccess
:
RewriteEngine On
RewriteBase /subdir/
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{THE_REQUEST} /subdir/(S*)s
RewriteRule ^ /%1? [R=302,L,NE]