Nette na forpsi hostingu (linux)
- fikusir
- Člen | 27
Ahoj,
zde mají KB pro Nette:
https://help.wedos.cz/…k-instalaci/
Nezapomeň také promazat cache, pokud si ji nechtíc přehrál také. Pokud saháš na DB, tak koukni, jestli má správnou konfiguraci v local.conf.
Michal
- jfk9
- Člen | 3
Dobrý den, už se několik dní trápím s rozjetím Nette projektu na Forpsi a s nastavením .htaccess. Co jsem našel tady ve vláknech mi nefunguje. Zkusil jsem rozjet nette-sandbox a ten mi funguje, ale pokud na Homepage přidám link na další presenter, tak to už mi nejede, vrací chybu 404.
Mám na webhostingu nahraný projekt ve složce hello-world. V té složce
mám .htaccess takto:
RewriteEngine on
#RewriteBase /
RewriteCond %{REQUEST_URI} !^/hello-world/www
RewriteRule ^(.*)$ /hello-world/www/$1 [NC,L]
Ve složce hello-world/www mám potom .htaccess takto:
# Apache configuration file (see https://httpd.apache.org/…ference.html)
#Require all granted
# disable directory listing
<IfModule mod_autoindex.c>
#Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# use HTTPS
# RewriteCond %{HTTPS} !on
# RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\.(?!well-known/) – [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule
!\.(pdf|js|mjs|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$
/index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
Nepomohli byste mi prosím zjistit, kde mám chybu, popř. dát se nastavení .htaccess?
Děkuji,
Editoval jfk9 (12. 9. 2022 13:54)
- m.brecher
- Generous Backer | 873
@jfk9
Pokud nemáš na webhostingu možnost nastavit doc_root do složky /www/, můžeš použít toto nastavení .htaccess (+ modifikace):
.htaccess v root složce projektu:
Require all granted
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule (.*) /project/www/$1
RewriteCond %{HTTP_HOST} !^localhost$
RewriteRule (.*) /www/$1
.htaccess ve složce www:
Require all granted
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^localhost$
RewriteCond %{HTTPS} !on
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule /\.|^\.(?!well-known/) - [F]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css)$ /project/index.php [L]
RewriteCond %{HTTP_HOST} !^localhost$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css)$ index.php [L]
</IfModule>
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
Poznámky:
a) interní přesměrování v prvním .htaccess není dostatečně bezpečné řešení pro profesionální aplikace z hlediska bezpečnosti, byť to takto mnoho webhostingů doporučuje, mnohem bezpečnější je použít webhosting, kde lze nastavit doc_root do složky /www/
b) .htaccess je navržen pro použití pro vývoj na windows a produkční nasazení na Linuxu
c) Podle webhostingu se může lišit RewriteBase /, někde je potřeba zakomentovat, jinde naopak použít
d) povolené statické soubory mám omezeny na ty, které skutečně používám, seznam se dá rozšířit
Editoval m.brecher (7. 11. 2023 10:31)