Nasazení na hosting nastavení htaccess
- Klainer
- Člen | 42
Dobrý den,
mám problém s nasazením webu na hosting. Aplikaci jsem nahrál na ftp do
složky: WWWRoot ,
adresářová struktura aplikace uvnitř WWWRoot vypadá takhle:
/app
/css
/images
/js
/libs
/log
/temp
/www
/index.php
/.htaccess
Když aplikaci spustím na adrese www.mojedomena.cz/www/ tak mi vše funguje. Ale chtěl jsem ať stránka hned funguje když přejdu na www.mojedomena.cz proto jsem zkopíroval vše co bylo v adresáři www do nadřazené složky a upravil index.php … Hlavní stránka se spustí, ale odkazy nefungují.
Soubor index.php ve WWWRoot vypadá takhle:
<?php
// uncomment this line if you must temporarily take down your site for maintenance
// require '.maintenance.php';
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . DIRECTORY_SEPARATOR . 'app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . DIRECTORY_SEPARATOR . 'libs');
// absolute filesystem path to the temporary files
define('TEMP_DIR', WWW_DIR . DIRECTORY_SEPARATOR . 'temp');
// load bootstrap file
require APP_DIR . DIRECTORY_SEPARATOR . 'bootstrap.php';
?>
Soubor .htaccess ve WWWRoot vypadá takhle:
# Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)
# disable directory listing
#Options -Indexes
# allows symbolic links in this directory
#Options +FollowSymLinks
# configure PHP
# <IfModule mod_php5.c>
# php_flag register_globals off
# php_flag zend.ze1_compatibility_mode off
# php_flag session.auto_start off
# </IfModule>
# enable cool URL
#<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 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>
# default charset should be UTF-8
#AddDefaultCharset utf-8
# 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>
# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
#<IfModule mod_include.c>
# <FilesMatch "\.combined\.(js|css)$">
# Options +Includes
# SetOutputFilter INCLUDES
# </FilesMatch>
#</IfModule>
Ještě bych dodal, chybku co vyhazuje server:
Server Error in Application "16239 - V012060"
Internet Information Services 7.0
Error Summary
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Detailed Error Information
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://www.mojeurl.cz:80/produkt/
Physical Path d:\v012060\mojeurl.cz\WWWRoot\produkt\
Logon Method Anonymous
Logon User Anonymous
Zkoušel jsem to dělat podle návodu https://doc.nette.org/…ubleshooting
ale neúspěšně.
Děkuji za rady !
Používám Nette Framework 2.0.3 pro PHP 5.3 nebo 5.4
Editoval Klainer (18. 7. 2012 10:31)
- Klainer
- Člen | 42
Zakomentovat RewriteBase jsem zkoušel, ale nic se nezměnilo. Když zadám adresu http://www.mojeurl.cz/produkt/ tak to nefunguje (vyhazuje to zmíněnou chybku), když zadám adresu http://www.mojeurl.cz/www/produkt/ tak je vše v pořádku, jak docílit toho aby tam nemuselo být to www ?
- Klainer
- Člen | 42
V mém příspěvku úplně dole jsem ten návod zmínil, bohužel mi to nefungovalo, tak píšu sem. Možná jsem udělal něco špatně, každopádně netuším co. Zkoušel jsem upravit mod rewrite podle toho návodu ale žádná reakce
EDIT: možná je to tim, že aplikace hostuje na windows serveru … Ale zkoušel jsem test požadavku a vše je ok.
Editoval Klainer (18. 7. 2012 10:46)
- Klainer
- Člen | 42
Mohl bych poprosit o radu jak na to ?
Vypadá takhle:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation
tempDirectory="P:\v012060\">
</compilation>
<customErrors
mode="On">
</customErrors>
</system.web>
</configuration>
Vyřešeno – upravený od hostingu:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation tempDirectory="P:\v012060\">
</compilation>
<customErrors mode="On">
</customErrors>
</system.web>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$" negate="true" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
EDIT: Vyřešeno, zavolal jsem na podporu hostingu a ty vše nějakým způsobem zařídili :)… Takže děkuji za rady !
Editoval Klainer (18. 7. 2012 12:06)