Autor Zpráva
SkIpPeR
Profil
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
Nestačilo by jen toto?
RewriteEngine On
RewriteBase /phs
RewriteRule ([^/]+)\.html$ index.php?page=$1
SkIpPeR
Profil
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=$1

nic neřeší
SkIpPeR
Profil
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
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
Pokud jsou odkazované styly v jiné složce, tak na ně odkazuj s absolutní cestou:
<link rel="stylesheet" href="/test/styl.css">
SkIpPeR
Profil
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
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
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: