Nahodený čistý sandbox – nesprávne pracuje router

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pwnedko
Člen | 24
+
0
-

Zdravím všetkých nahodil som čistý sandbox vytvoril som jeden presenter v ňom jeden formulár to všetko. Ako náhle dám do templatu:
<a href="{link Login:default}">Login</a>

Výstupný link je:
/…o.com//login

Po kliknutí na odkaz ma presmeruje na takéto niečo:
http://nieco.com/%EF%BB%BF/login

Ako som povedal je to čistý sandbox iba s formulárom čiže aj bootstrap.php je defaultný a to teda:

<?php

/**
 * My Application bootstrap file.
 */
use Nette\Application\Routers\Route;


// Load Nette Framework or autoloader generated by Composer
require LIBS_DIR . '/autoload.php';


// Configure application
$configurator = new Nette\Config\Configurator;

// Enable Nette Debugger for error visualisation & logging
//$configurator->setDebugMode($configurator::AUTO);
$configurator->enableDebugger(__DIR__ . '/../log');

// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();

// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();

// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');


// Configure and run the application!
$container->application->run();
?>

Vopred ďakujem všetkým za odpovede.

vvoody
Člen | 910
+
0
-

Sandbox z akej verzie nette?

pwnedko
Člen | 24
+
0
-

2.0.6

Šaman
Člen | 2659
+
0
-

Pro jistotu si zkus pustit Requirements checker, ať se vyloučí špatně nakonfigurovaný server. Se sandboxem 2.0.6 jsem pracoval a tento problém nenastal – prostý bug to nebude.

pwnedko
Člen | 24
+
0
-

Screen s Requirements checkera: http://easycaptures.com/…27515653.png

Všimol som si ,že mod_rewrite je vypnutý to bude zrejme ten problém ale nechápem prečo .htaccess mám tak isto zo sandboxu. A vždy mi tento defaultný išiel. Prikladám aj htaccess:

# Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)

# 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>

# 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>

Grelek
Člen | 233
+
0
-

Zrovna včera jsem řešil podobný problém. Podívej se, jestli máš na serveru mod_rewrite opravdu povolený a pokud ano, podívej se, jestli má aplikace v configu serveru AllowOverride All.

Mně to včera nefungovalo kvůli tomu, že aplikace neměla od serveru v .htaccess takové možnosti.

pwnedko
Člen | 24
+
0
-

.htaccess som sem priložil tam je vidieť že mod_rewrite je zapnutý a jaký config serveru máš namysli ?

Grelek
Člen | 233
+
0
-

Povolení toho, co smí .htaccess měnit a co ne. Právě že .htaccess, který jsi sem přiložil o povolení žádá, otázka ale je, jestli ho od serveru skutečně dostane.

Editoval Grelek (2. 2. 2013 23:25)

Šaman
Člen | 2659
+
0
-

Někde bude konfigurák nastavení serveru. Záleží jaký server máš. Ta chyba bude z toho mod_rewrite – většinou když nefunguje linkování na sandboxu, tak je buď vypnutý, nebo je špatně RewriteBase.

pwnedko
Člen | 24
+
0
-

Áno ako náhle som toto pridal do configu tak to funguje bez problém. Nebude to mať ale nejaký zlý vplyv na bezpečnosť aplikácie ?