Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Mod rewrite  (Přečteno 2491 krát)

DracoAn

  • Návštěvník
  • Příspěvků: 19
Mod rewrite
« kdy: 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:

Kód: [Vybrat]
# 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?

Tadeáš Pařík

  • Předseda občanského sdružení Ubuntu ČR a člen placené komunitní podpory
  • Příspěvků: 6543
    • Ubuntu.cz
Re: Mod rewrite
« Odpověď #1 kdy: 13 Dubna 2010, 13:22:00 »
Tohle by mohlo pomoct http://htaccess.all4all.cz/ ;)
Do života je třeba mít připravený rozum, nebo provaz.

Ubuntu 14.04 64 bit / Windows 10 Pro - Intel DH87MC, Intel Core i7-4771, 8GB Ram, Kingston HyperX 3K SSD 120GB, Intel HD 4600 a ASUS GTX660-DC2OCPH-2GD5
Ubuntu 14.04 64bit - HP ProBook 4525s
Ubuntu 14.10 32bit - ThinkPad R52 (testování)

pariktadeas@jabbim.cz

DracoAn

  • Návštěvník
  • Příspěvků: 19
Re: Mod rewrite
« Odpověď #2 kdy: 21 Dubna 2010, 11:55:04 »
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.
« Poslední změna: 21 Dubna 2010, 12:02:44 od DracoAn »

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re: Mod rewrite
« Odpověď #3 kdy: 21 Dubna 2010, 12:54:29 »
Nic se negeneruje, pouze se mění ty adresy. Můžeš tedy chtít například toto:
Kód: [Vybrat]
webURL: http://www.domain.cz/first
index.php$?id1=first
nebo toto:
Kód: [Vybrat]
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:
Kód: [Vybrat]
RewriteEngine On
RewriteRule ^([^.^/]+)(/)?$ %{DOCUMENT_ROOT}/index.php?id=$1 [L]
RewriteCond %{REQUEST_URI} !.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]

DracoAn

  • Návštěvník
  • Příspěvků: 19
Re: Mod rewrite
« Odpověď #4 kdy: 16 Května 2010, 19:22:01 »
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.

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re: Mod rewrite
« Odpověď #5 kdy: 16 Května 2010, 20:06:06 »
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...

CZ-OmA-124.OS

  • Návštěvník
  • Příspěvků: 23
Re: Mod rewrite
« Odpověď #6 kdy: 27 Května 2010, 18:30:31 »
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

DracoAn

  • Návštěvník
  • Příspěvků: 19
Re: Mod rewrite
« Odpověď #7 kdy: 29 Května 2010, 22:02:49 »
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:
Kód: [Vybrat]
ErrorDocument 403 /error.php
ErrorDocument 404 /error_2.php
ErrorDocument 500 /error_3.php 

DracoAn

  • Návštěvník
  • Příspěvků: 19
Re: Mod rewrite
« Odpověď #8 kdy: 29 Května 2010, 22:09:07 »
Prý by mělo fungovat tohle:

Kód: [Vybrat]
RedirectMatch (.*)_(.*)\.htm$ $1-$2.php

RedirectMatch (.*)\.htm$ $1.php

Martin - ViPEr*CZ*

Re: Mod rewrite
« Odpověď #9 kdy: 02 Června 2010, 18:52:37 »
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 ???
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin - ViPEr*CZ*

Re: Mod rewrite
« Odpověď #10 kdy: 03 Června 2010, 12:10:26 »
No včéra mi to již nemyslelo...ale kdyby někdo potřeboval...:

Kód: [Vybrat]
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.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

 

Provoz zaštiťuje spolek OpenAlt.