Autor Zpráva
Prefin
Profil
Ahojda všichni.
Potřeboval bych prosím poradit s následující použitím mode_rewrite, protože se v něm pořád trochu ztrácím.
Na webu mám dvě sekce s texty tahanými z db - produkty.php a clanky.php.
K textům se ukládá url ve tvaru
neco-neco-neco
takže stránka s textem je v kodu volána
clanky.php?url=neco-neco-neco
Pokud použiji zápis
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^url=([^&]+)$
RewriteRule ^clanky\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html clanky.php?rw=1&url=$1 [L,QSA]
funguje to dobře na stránce clanky.php.
Jenomže potřebuju stejně ošetřit ještě stránku produkty.php, kde jsou texty také a volány stejně.
A zápis
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^url=([^&]+)$
RewriteRule ^clanky\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html clanky.php?rw=1&url=$1 [L,QSA]
RewriteRule ^produkty\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html produkty.php?rw=1&url=$1 [L,QSA]
nefunguje na obě. A vlastně ani němůže.
Podle mě by se měly obě dvě stránky zajistit v jednom cyklu ale to je na mě už moc.
Díky za pomoc
Davex
Profil
Prefin:
Adresu předávej jen jednomu skriptu a v něm rozhodni, zda má includovat skript clanky.php nebo produkty.php. K tomu je potřeba složitější aplikační logika a mod_rewrite na to nestačí.
Prefin
Profil
No nevím, ale možná se mi to povedlo.
Trochu jsem předělal adresování a chvíli jsem četl (ono je to vždycky nejlepší) a zdá se že mi tohle:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^kampropenize.cz
RewriteRule (.*) http://www.kampropenize.cz/$1 [R=301,QSA,L]
RewriteRule ^clanky-(.*) clanky.php?page=$1
RewriteRule ^produkty-(.*) produkty.php?page=$1
funguje.
Teda dokud se neukáže že ne.
Jediné co nevím jak přidělat je
www...cz/index.php převést na www...cz/
Joker
Profil
Prefin:
V FAQ ke konfiguraci webového serveru je univerzální .htaccess. Stačí použít ten a v PHP si pak doprogramovat, co je potřeba.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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