Jak zprovoznit .htaccess pro m.domena.test
- motorcb
- Člen | 552
Zdravim.
Mam spustene Nette na www.domena.test a následující strukturu na hostingu:
/logs/
/web/
m/ #mobilni verze
.htaccess #.htaccess pro mobilni verzi
www/ #normalni verze
app/
libs/
log/
temp/
www/
.htaccess #.htaccess pro normalni verzi
Nemohu vyřešit co zadat do mobilniho .htaccess aby se mi nacetlo Nette a v tom si pak rozhodnu zda zobrazim mobilni verzi.
Pokoušel jsem se tam nandat toto:
RewriteEngine on
RewriteRule ^(.*)$ ../www/www/$1 [L,NE]
Ovšem končilo to chybou: Internal Server Error
A v logu jsem našel:
Request exceeded the limit of 10 internal redirects due to probable
configuration error. Use ‚LimitInternalRecursion‘ to increase the limit if
necessary. Use ‚LogLevel debug‘ to get a backtrace.
V .htaccess pro normalni verzi (www) mám:
RewriteEngine on
RewriteRule ^(.*)$ /www/$1 [L,NE]
Nevěděl by někdo jak na to? Nebo jdu úplně špatným směrem a dá se to řešit elegantněji?
- motorcb
- Člen | 552
bazo:
sprav si routu pre m.domena.test, nastav si premennu mobile na true a mas vystarane.
To až v nádledujícím kroku :) Nejprve potřebuji aby se dostal do Nette kdyz zadam m.domena.test
To udělám tak, že nastavím .htaccess pro m.domena.test a .htaccess mne
přesměruje do Nette.
Jenomže nevím jak ten .htaccess nastavit aby mne přesměroval do Nette :(
Nástřel jsem zkoušel udělat v prvním příspěvku
- Grelek
- Člen | 233
A co takhle?
app/
DesktopModule/
MobileModule/
...
www/
css/
images/
js/
Pak už bych si jenom napsal routy.
$router[] = new Route('<presenter>/<action>/[<id>]', array(
'module' => 'Desktop',
'presenter' => '...',
'action' => '...',
));
$router[] = new Route('mobile/<presenter>/<action>/[<id>]', array(
'module' => 'Mobile',
'presenter' => '...',
'action' => '...',
));
- bazo
- Člen | 620
motorcb napsal(a):
bazo:
sprav si routu pre m.domena.test, nastav si premennu mobile na true a mas vystarane.
To až v nádledujícím kroku :) Nejprve potřebuji aby se dostal do Nette kdyz zadam m.domena.test
To udělám tak, že nastavím .htaccess pro m.domena.test a .htaccess mne přesměruje do Nette.
Jenomže nevím jak ten .htaccess nastavit aby mne přesměroval do Nette :(
Nástřel jsem zkoušel udělat v prvním příspěvku
ved pouzi len jeden htaccess, rozdel si appku na moduly ak chces mat moduly, alebo si nastav nejaku premennu podla ktorej budes vyberat sablony. uplne jednoduche
- Majkl578
- Moderator | 1364
Myslím, že to, o co se snažíš, vůbec nepotřebuješ. Mobilní verze webu jde reprezentovat jako modul aplikace, normální web jako další modul.
Řešit by to šlo takto (upravená verze od Greleka):
app/
WebModule/
MobileModule/
www/
.htaccess
index.php
css/
images/
js/
...
\--
$router[] = new Route('//[www.]example.com/<presenter>/<action>', array(
'module' => 'Web',
'presenter' => 'Homepage',
'action' => 'default',
));
$router[] = new Route('//m.example.com/<presenter>/<action>', array(
'module' => 'Mobile',
'presenter' => 'Homepage',
'action' => 'default',
));
Nic víc pak nepotřebuješ.
- motorcb
- Člen | 552
Majkl578 napsal(a):
Díky. Udelal jsem to presne tak.
Jen nevím jak na obrázky.
tam kde kam na hostingu odkazuje m.domena.test jsem ulozil index.php:
<?php
// absolute filesystem path to this web root
define('WWW_DIR', __DIR__."/../new");
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
Jen nevím jak načítat obrázky. Pro subdomenu m.domena.test se mi obrázky se mi načítají ze složky kde je index.php (web/www/subdom/m/)
V MobileModule (default.latte) mam:
<img src="obrazek.jpg"/>
<hr/>
<img src="{$basePath}/obrazek.jpg"/>
Kam mi doporucite ukladat obrazky pro m.domena.test???
Ja bych je nejradeji ukladal do
Struktura souboru:
/logs/
/web/
www/
app/
WebModule/
MobileModule/
libs/
log/
temp/
www/
web/
pictures/ #obrazky pro web
js/ #js pro web
m/
pictures/ #obrazky pro mobilni verzi
js/ #js pro mobilni verzi
subdom/
m/ #mobilni verze
index.php #require APP_DIR . '/bootstrap.php';
- motorcb
- Člen | 552
Pokusím se toto vlákno opět oživit, protože se mi nedaří problém opravit :)
Celý projekt jsem nahrál na github: https://github.com/…Nette-module
Hosting mám u Wedosu a příklad je řešen pro subdomény.
Subdomény mi fungují, v tom není problém.
Mam domeny:
m.domena.local ⇒ /subdom/m
new.domena.local ⇒ /subdom/new
Problém je, že modul Mobile mi načítá obrázky z /subdom/m a já bych chtěl aby mi je načítal z /subdom/new/www/pictures/…
Viz: https://github.com/…efault.latte
Dělám někde logickou chybu? Nebo jak vyřešit tento problém?
- abrakadabra
- Člen | 1
Riešim podobnú záležitosť.. pokiaľ si ho ešte nečítal, tak toto vlákno Subdomény, jak správne routovat by ti mohlo pomôcť. Konkrétne hosiplanove rady ohľadom shared/media subdomény. Dnes som to našiel a myslím si, že touto cestou to pôjde..