Nette na hostingu, kde nelze prenastavit DocumentRoot (Wedos)
- fabian
- Člen | 20
Ahoj,
na hostingu u Wedosu nelze nastavit DocumentRoot do adresare www/. Nasel
jsem spoustu navodu na StackOverflow, nebo i tady na foru, ale nic mi
nefunguje.
Jedna se o subdomenu, takze jsem postupoval podle navodu od Wedosu tady: http://kb.wedos.com/…stalace.html (2. Nette jako alias
nebo subdoména).
V rootu webu mam .htacces, ktery obsahuje:
RewriteEngine On
RewriteRule (.*) www/$1 [L]
Potom v adresari www/ mam .htaccess s obsahem z nette/sandbox:
# disable directory listing
Options -Indexes
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>
Web nabehne, ale staticke soubory jsou porad pristupne pouze s url zacinajici www (napr. http://example.com/…css/main.css).
Ma s tim prosim nekdo zkusenost?
Diky
- japlavaren
- Člen | 404
ja pouzivam toto a funguje:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.cz$
RewriteRule (.*) www/$1 [L]
- David Grudl
- Nette Core | 8228
Jakékoliv řešení, kde nelze nastavit document root, je principiálně z bezpečnostního hlediska špatné. Je to něco jako pozvat si domů zloděje a pak dohlížet, aby něco neukradl.
Skutečně na Wedosu získáte přístup jen a pouze ke složce document root? Pak bych se jich asi zeptal, kam mám nahrát ostatní soubory.
- Tharos
- Člen | 1030
Já mám na WEDOSu v rootu (/www/domains/example.org/
)
.htaccess s následujícím obsahem:
RewriteEngine on
RewriteRule ^(.*)$ /www/$1 [L,NE]
Document root mám v subadresáři www
a vše funguje jak má.
Mám takový dojem, že jsem v .htaccess ve www
musel ještě
odstranit (zakomentovat) Options -Indexes
.
- fabian
- Člen | 20
Tak se mi to proste nepovedlo. Wedos pouziva k tvorbe subdomen .htaccess v rootu hostingu. Dalsim .htaccessem v adresari subdomeny se pak ma menit DocumentRoot a dalsi .htaccess ma Nette ve /www adresari. To uz je trochu silny kafe. Zvlast, kdyz do toho prvniho .htaccess v rootu hostingu nevidim.
Diky vsem za rady. Jinak samozrejme souhlasim s @DavidGrudl, ze nepouzivat DocumentRoot neni uplne dobry napad, taky se snazim klienta presvedcit..
- Jan Tvrdík
- Nette guru | 2595
@fabian Na Nette fóru je 100+ vláken týkajících se Wedosu. Všechny problémy, které tam existují, tu už byly vyřešeny. Několikrát. Stačí hledat.