Admin modul chyba v odkazu url
- jAkErCZ
- Člen | 322
Zdravím,
přidal jsem si do svého systému admin modul abych mohl mít administraci
s vlastním layoutem ale mám problém kdykoliv vyvolám odkaz
**
localhost/obchod/admin**
tak se ihned tento odkaz nahradí
**
localhost/obchod/www/admin**
ale já nechci aby tam bylo to** www**
Zde přikládám router
/* Administrace */
$adminModule = new RouteList('Admin');
$adminModule[] =$adminRouter[] = new Route('admin/<presenter>/<action>/<id>', array(
'presenter' => 'Home',
'action' => 'default',
'id' => NULL,
));
$router[] = $adminModule;
Čím to může být způsobeno?
Díky
- jAkErCZ
- Člen | 322
Přidávám
Htaccess
<?php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^www/
RewriteRule ^(.*)$ www/$1
</IfModule>
?>
App/www/htaccess
<?php
# Apache configuration file (see httpd.apache.org/docs/current/mod/quickreference.html)
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST} [L,R=301]
# 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|map)$ 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/x-javascript text/javascript application/javascript application/json
</IfModule>
</IfModule>
?>
- iguana007
- Člen | 970
Jeste pro priste, lepsi je pro localhost tyto veci resit pres hosts a virtual hosts, protoze potom mas rozdilny htaccess pro produkci a development. Totez muze platit i pro layout sablonu, protoze pokud ti projekt nebezi na hlavni domene (v tvem pripade localhost), ale v nejake jeji podslozce, tak se pouziva i HTML tag <base/>, aby ti spravne fungovaly relativni cesty k obrazkum apod.
Ja to resim tak, ze si pro kazdy projekt vytvarim separatni virtualhost pod Apache a do hosts file si dam zaznam pro domena-projektu.cz.local
- Zuben45
- Člen | 268
myslím, že je problém v htaccess:
RewriteCond %{REQUEST_URI} !^www/
místo
RewriteCond %{HTTP_HOST} !^www\.
REQUEST_URI
, pokud se nepletu je vše za
doménou :)
vyzkoušej zde – http://htaccess.mwl.be/, když zadám adresu http://example.org/test a htaccess
RewriteCond %{REQUEST_URI} !^www/
RewriteRule ^(.*)$ www/$1
tak dole uvidíš, že tě to přesměruje na http://example.org/www/test ;)
a při
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
na http://www.example.org/test
Editoval Zuben45 (11. 12. 2017 15:21)
- jAkErCZ
- Člen | 322
Zuben45 napsal(a):
myslím, že je problém v htaccess:
RewriteCond %{REQUEST_URI} !^www/
místo
RewriteCond %{HTTP_HOST} !^www\.
REQUEST_URI
, pokud se nepletu je vše za doménou :)vyzkoušej zde – http://htaccess.mwl.be/, když zadám adresu http://example.org/test a htaccess
RewriteCond %{REQUEST_URI} !^www/ RewriteRule ^(.*)$ www/$1
tak dole uvidíš, že tě to přesměruje na http://example.org/www/test ;)
a při
RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
No na localhostu to prostě nefuguje… to mi to rozhodí celý web… nechápu proč všechno jiný jede ale jakmile dám /admin bum www/admin
Editoval jAkErCZ (11. 12. 2017 17:35)
- GEpic
- Člen | 566
na htaccess se vy*er na localu a nastav si virtual host třeba
obchod.localhost
(.dev
už v Chrome nefunguje).
Rešíš zbytečně problém se kterym nepřijdeš na hostingu do styku.
Stačí ti tedy jen ten .htaccess pro „cool url“ ve složce www
httpd-vhosts.conf
<VirtualHost *:80>
ServerName obchod.localhost
DocumentRoot C:/wamp64/www/obchod/www/
<Directory "C:/wamp64/www/obchod/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
No a v prohlížeči si zadáš obchod.localhost/admin
Editoval GEpic (11. 12. 2017 18:03)