| Autor | Zpráva | ||
|---|---|---|---|
| SkIpPeR Profil |
#1 · Zasláno: 17. 12. 2009, 16:17:10
Zdravím, vím že to tu už bylo mockrát, ale mě to tu pořád nefunguje.
Pro jistotu přidám i to že hostuji na webzdarma.cz Odkaz na stránku je: <a href="novinky.html">Novinky</a> a v .htaccess mám napsáno: Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(phs)/.* - [L]
RewriteCond %{HTTP_HOST} ^(www\.)?phs\.czweb\.org$
RewriteRule ^(.*)$ phs/$1 [L]
RewriteRule ^/(.+).html$ /index.php?page=$1 [L]Stránky jsou uloženy v adresáři phs a načítají se přímo jako kdyby nebyly ve složce. Pokud je u menu link index.php?page=novinky tak se stránka načte dobře, ale pokud tam dám novinky.html, tak mi Webzdarma vyhodí error 404, stránka nenalezena -> http://i.wz.cz/404.html |
||
| Majkl578 Profil |
#2 · Zasláno: 19. 12. 2009, 18:55:20 · Upravil/a: Majkl578
Nestačilo by jen toto?
RewriteEngine On RewriteBase /phs RewriteRule ([^/]+)\.html$ index.php?page=$1 |
||
| SkIpPeR Profil |
#3 · Zasláno: 19. 12. 2009, 20:06:18
Ne to mi nefunguje a
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(phs)/.* - [L]
RewriteCond %{HTTP_HOST} ^(www\.)?phs\.czweb\.org$
RewriteRule ^(.*)$ phs/$1 [L]
RewriteRule ([^/]+)\.html$ index.php?page=$1nic neřeší |
||
| SkIpPeR Profil |
#4 · Zasláno: 19. 12. 2009, 20:12:07
Vyřešil jsem si to sám, stačilo jen řádek
RewriteRule ([^/]+)\.html$ index.php?page=$1 dát za RewriteEngine on |
||
| SkIpPeR Profil |
#5 · Zasláno: 19. 12. 2009, 20:54:16
a naskytl se další problém, tentokrát jsem zkoušel upravit htaccess takto:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([^/]+)\.html$ index.php?page=$1 [L,QSA]
RewriteRule ^test/test\.html index.php?page=test [L,QSA]
RewriteRule ^test/([^/]+)\.html$ index.php?page=test-$1 [L,QSA]
RewriteBase /
RewriteRule ^(phs)/.* - [L]
RewriteCond %{HTTP_HOST} ^(www\.)?phs\.czweb\.org$
RewriteRule ^(.*)$ phs/$1 [L]Funguje mi to, bohužel potlačí to css a když se dostanu do složky test, tak odkazy které jsou nasměrovány do složky test odkazují na .../test/test/... |
||
| Davex Profil |
#6 · Zasláno: 19. 12. 2009, 21:52:20
Pokud jsou odkazované styly v jiné složce, tak na ně odkazuj s absolutní cestou:
<link rel="stylesheet" href="/test/styl.css"> |
||
| SkIpPeR Profil |
#7 · Zasláno: 19. 12. 2009, 22:07:15
Ale styly mi potlačuje jen:
RewriteRule ^test/test\.html index.php?page=test [L,QSA] RewriteRule ^test/([^/]+)\.html$ index.php?page=test-$1 [L,QSA] ale ne: RewriteRule ^([^/]+)\.html$ index.php?page=$1 [L,QSA] a styl by měl být stejný. |
||
| Davex Profil |
#8 · Zasláno: 19. 12. 2009, 22:21:37
Všechna jména mezi lomítky v cestě považuje prohlížeč za adresáře. Prohlížeč nemůže nijak poznat, že se ve skutečnosti o adresáře nejedná, takže na všech stránkách v "adresáři" /test/ je nutné cestu ke stylům upravit.
|
||
| SkIpPeR Profil |
#9 · Zasláno: 19. 12. 2009, 22:28:37 · Upravil/a: SkIpPeR
Tedy ani po RewriteRule v .htaccess?
EDIT: On doopravdy ani ten adresář neexistuje, tak proto se ptám. A mužu se prosím ještě zeptat na ty odkazy? |
||
| Davex Profil |
#10 · Zasláno: 19. 12. 2009, 23:11:51
Pro odkazy platí to samé. Rychlým řešením pro CSS i odkazy je přidání tagu <base href="/"> do hlavičky všech stránek, ale v některých prohlížečích to nemusí vždy fungovat. Lepší je odkazovat v rámci webu s absolutní cestou.
|
||
|
Časová prodleva: 16 let
|
|||
0