ugrás a tartalomhoz

htaccess RewriteRule

toldigabor · 2011. Május. 12. (Cs), 08.56
Tudnátok ebben nekem segíteni, hogy hogyan tudnám ezeket az átirányításokat megcsinálni? Hogyan adjam meg a RewriteRule után a mintaillesztést?

www.video-oldal.hu/kategoria.php
www.video-oldal.hu/kategoria


www.video-oldal.hu/nev.php?cim=Egy-konkret-video-cime
www.video-oldal.hu/Egy-konkret-video-cime


Köszi szépen
 
1

Próbálkozás

janoszen · 2011. Május. 12. (Cs), 09.18
Akkor tudunk segíteni, ha leírod, mivel próbálkoztál. Tehát milyen rule-okat próbáltál beírni, mi volt az eredmény és mindeközben az Apache log mit mondott? (RewriteLog opció ugye be van kapcsolva?)
2

Nem túl sokkal

toldigabor · 2011. Május. 12. (Cs), 09.45
Az elsőre valami ilyesmit adtam meg:
RewriteRule ^kategoria$ kategoria.php


De átugrik a kezdőoldalra, ha .php nélkül írom be, mert az elején meg ilyet írtam:
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.html?q=$1 [QSA]


Azért, hogy a régi html-es oldalakra való hivatkozás során (mert már mások beágyazták több helyen a saját oldalukra), a kezdőoldalra ugorjon.
3

Szerintem akkor meg is

bb0072 · 2011. Május. 12. (Cs), 10.30
Szerintem akkor meg is válaszoltad a saját kérdésedet. Ha a request nem létező file-ra vagy könyvtárra mutat, átirányítod az index.html-re, nyilván nem fog utána már a kategoria.php-re ugrani.
4

Akkor sem jó

toldigabor · 2011. Május. 12. (Cs), 10.52
De ha kiveszem azt a 3 sort, akkor sem működik, azt írja ki, hogy nem létezik az oldal.
5

Ezt mi írja ki? Htaccess

bb0072 · 2011. Május. 12. (Cs), 15.01
Ezt mi írja ki? Htaccess ilyet nem ír ki, tehát maradsz a www.video-oldal.hu/kategoria oldalon, ami 404-es hibát ad?
8

404

toldigabor · 2011. Május. 12. (Cs), 21.39
404-es hibát ad a Dotroll és azt hogy az oldal nem található.
6

Márpedig ez így

bb0072 · 2011. Május. 12. (Cs), 15.06
Márpedig ez így jó:

RewriteEngine on
RewriteBase /

RewriteRule ^kategoria$ kategoria.php
Ha mégsem ez történik, akkor nézd meg a rewrite logot.
7

Most kipróbáltam úgy is, hogy

bb0072 · 2011. Május. 12. (Cs), 15.11
Most kipróbáltam úgy is, hogy benne van az a 3 sor a kategóriás RewriteRule előtt. Úgy tényleg nem. De ha utána van, akkor megintcsak igen.

Esetleg engedélyezve van egyáltalán a htaccess, illetve abban rewrite, merthogy azt a vhostban engedélyezni kell. (Meg egyáltalán apache mod_rewrite van-e?)
10

Valószínűleg engedélyezve

toldigabor · 2011. Május. 12. (Cs), 21.42
Szerintem engedélyezve van a szolgáltató által (Dotroll Kft.), mert a már nem létező régi html oldalakra történő hivatkozásnál átirányítja az új kezdőoldalra, ha benne van az a plusz 3 sor.
9

Hol?

toldigabor · 2011. Május. 12. (Cs), 21.40
Az hol kell megnézni a rewrite logo-t?
12

Kell a vhostba egy ilyen

bb0072 · 2011. Május. 13. (P), 11.37
Kell a vhostba egy ilyen beállítás: RewriteLog "/usr/local/var/apache/logs/rewrite.log"

Ehhez még hozzá lehet csapni a RewriteLogLevel direktívát, pl. RewriteLogLevel 3

1) Sajnos ezt .htaccess-ből nem lehet megadni, csak a vhost-ból. Ha nincs hozzáférésed, akkor a szolgáltatóval kell leboxolni.

2) A rewrite log rövid idő alatt nagyon felhízik, úgyhogy arra a néhány percre érdemes bekapcsolni, amíg teszteled. A tuti megoldás localhoston tesztelni, ahol nincsenek konkurens requestek. Én is így néztem meg az általad írt rule-okat, azért merem állítani, hogy az jó úgy ahogy van.
11

[L]

Gixx · 2011. Május. 13. (P), 10.53

RewriteEngine on
RewriteBase /

RewriteRule ^/?kategoria/?$ kategoria.php [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.html?q=$1 [QSA]
13

Az R=301 szerintem itt nem az

bb0072 · 2011. Május. 13. (P), 14.53
Az R=301 szerintem itt nem az igazi, mert a háttérben akarjuk a requestet átírni, nem pedig átdobni valahová. Egy http kérést megspórolunk, és barátságosabb marad az url.
14

Több php fájlra

toldigabor · 2011. Május. 13. (P), 17.17
Igazából azt szeretném, hogy a weblapon minden php-s oldal a php beírása nélkül is betöltődjön. Erre azért lenne szükségem, mert nem működik a megosztás az utóbbi időben a weblapon: az iwiw átvariált valamit és ott nem osztja meg (már írtam nekik), a facebook továbbra is. Megfigyeltem, hogy más oldalakon sem működik, ahol szerepel az URL-ben php kifejezés (elég látogatott oldalon sem), csak ott működik, ahol "szép urlek" vannak.

Tehát ha valaki azt írja be a böngészőbe, hogy
www.video-oldal.hu/bármi
akkor bejöjjön a
www.video-oldal.hu/bármi.php
oldal.
15

Crosspost

janoszen · 2011. Május. 13. (P), 19.21
Nem érdemes crosspostolni, a SEO fórumon megválaszolták a kérdésedet.
16

Kár hogy nem működik

toldigabor · 2011. Május. 13. (P), 20.45
Kár hogy nem működik, csak a régi html-es URL-ek átirányítása :(