Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: DracoAn 13 Dubna 2010, 12:16:09
-
Zdravím,
mám menší problém rewritem. Vše jsem nastavil, vše jsem povolil podle návodu. Když zkusim neexistující stránku, tak mě to přesměruje, ale pokud se pokusím o hezké URL, tak se neděje nic. Ukázka kodu v .htaccess:
# stranka s chybovym hlasenim pro chybu 404 - not found
ErrorDocument 404 /error.php
# presmerovani stranky
RewriteEngine on
RewriteRule ^clanek-(.*) clanek.php?id=$1
Poradí někdo co s tím?
-
Tohle by mohlo pomoct http://htaccess.all4all.cz/ (http://htaccess.all4all.cz/) ;)
-
No stránka je dobrá a docela z ní budu asi čerpat, ale chci se zeptat kde mám chybu u toho přepisu? Protože podobnýho něco jsem tam nenašel. ??? :'(
Dám příklad:
Mám stránky typu clanek.php?id=15&neco=54
id se mění a i neco záleží na který článek zrovna kliknu a na jaké jsem straně. A já potřebuju, aby se automaticky generovalo toto:
clanek.php?clanek=15
Moc by mě pomohl nějaký návod nebo přímo popis jak to udělat. Jinak moc děkuji za pomoc.
-
Nic se negeneruje, pouze se mění ty adresy. Můžeš tedy chtít například toto:
webURL: http://www.domain.cz/first
index.php$?id1=first
nebo toto:
webURL: http://www.domain.cz/first/second
index.php$?id1=first&id2=second
Můj funkční konfig právě catnutej ze serveru pro tu jednodušší ukázku:
RewriteEngine On
RewriteRule ^([^.^/]+)(/)?$ %{DOCUMENT_ROOT}/index.php?id=$1 [L]
RewriteCond %{REQUEST_URI} !.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]
-
Pro změnu, když jsem nainstaloval 10.4LTS, tak mi přestali fungovat 403 přesměrování, ale 404 funguje dál. Jinak dál zkousim hezké url ale zatím nic.
-
Pro změnu, když jsem nainstaloval 10.4LTS, tak mi přestali fungovat 403 přesměrování, ale 404 funguje dál. Jinak dál zkousim hezké url ale zatím nic.
No on problém je mezi klávesnicí a židlí, to co jsem poslal funguje na několika diametrálně rozlišných systémech...
-
Měl bych ještě jeden dotaz chtěl bych udělat aby soubory .html bral apache jako .php da se to nějak udělat přes htaccess už sem prolez snad všechno a nic akorat sem povolil allowoveride all a aktivoval mod_rewrite skoušel sem co sem našel všude na netu dat do var/www/.htaccess
a includoval htaccess do index.php ale nic poradte
-
Ohledně error 403 jsem narazil na zajimavou věc. Když dám blokovat sebe a přihlásím se, tak mi to napíše klasickou defaultní hlášku. Pokud napíši ale http://moje.domena/error.php, tak se mi zobrazí hláška která má. Pokud se pokusím o přístup kamkoliv jinam, tak mi to hodí zase klasickou defaultní hlášku. Tak mi neříkejte, že jsem blbej já, když na ubuntu serveru 9.10 to fungovalo normálně. Klasická hláška 404 funguje bez problému. Už jsem s toho docela vytočený.
ukázka kodu:
ErrorDocument 403 /error.php
ErrorDocument 404 /error_2.php
ErrorDocument 500 /error_3.php
-
Prý by mělo fungovat tohle:
RedirectMatch (.*)_(.*)\.htm$ $1-$2.php
RedirectMatch (.*)\.htm$ $1.php
-
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.([^.]+)$
RewriteRule ^/(.*)$ /var/www/xxx.cz/web/$1 [L]
RewriteCond %{HTTP_HOST} (.*)\.([^.]+)\.([^.]+)$
RewriteRule ^/(.*)$ /var/www/xxx.cz/web/%1/$1 [L]
Dnes jsem už slepej... automaticky to generuje subdomény...tj jde:
domena.tld
www.domena.tld
subdomena.domena.tld
domena.tld/neco
www.domena.tld/neco
ale nejde mi www.subdomena.domena.tld ???
-
No včéra mi to již nemyslelo...ale kdyby někdo potřeboval...:
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^www\.(.*)\.([^.]+)\.([^.]+)$
RewriteRule ^/(.*)$ /var/www/xxx.cz/web/%1/$1 [L]
Stačí toto přidávat do virtualhostů pro každou doménu zvlášť (toto je pro ukázkovou doménu xxx.cz, která má /DocumentRoot/web složku na disku) a z každého podadresáře ve složce web se stane automaticky subdoména... Funguje s www i bez www.