Üdv!
Adva egy oldal amit szépítenem kell.
Olyan gondom akadt, hogy pl.: a kategoriak oldal neve kategoriak és a php fájl neve is az, hogy kategoriak.
Ekkor ugye az oldalneve/kategoriak htaccess-el nem a oldalneve.php?oldal=katekoriak-at adja vissza, hanem a kategoriak.php -t próbálja futtatni meglehetősen kevés sikerrel.
Van erre valami szép megoldás, hogy ne keljen átírni az összes fájlnevet illetve megkeresni az összes fájlba a rá való hivatkozást?
pch
- 6200 megtekintés
Hozzászólások
van
- A hozzászóláshoz be kell jelentkezni
ezt én akartam :D
- A hozzászóláshoz be kell jelentkezni
Ennek se füle se farka, kicsit pontosíts, mit szeretnél látni és e helyett mit látsz?
Ugyan akkor úgy érzem, rewrite -ra van szökséged.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Nos akkor mégegyszer, hátha így egyértelműbb.
Ami most van:
oldalneve.php?center=kezdolap
htaccess amit csináltam
RewriteRule ^(.*) index.php?center=$1
tehát az oldalneve/kezdolap-ot beírva szépen működik is.
Egészen addig, míg ugyanolyan nevű fájl nincs a könyvtárba.
pl.:
index.php
kategoria.php
Na ekkor ha az oldalneve/kategoria-t beírom akkor nem a
oldalneve.php?center=kategoria jön be mint ahogy az ember elvárná,
hanem a kategoria.php-t futtatja.
Nos erre keresek megoldást.
pch
--
http://www.buster.hu "A" számlázó
--
- A hozzászóláshoz be kell jelentkezni
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /valami.php?center=$1 [QSA,L]
?
- A hozzászóláshoz be kell jelentkezni
Apache rewrite (ez aszt hiszem így benne van a hivatalos doksiban is)
RewriteEngine On
# Ajanlott
RewriteLog /var/log/apache2/siteom/rewrite.log
RewriteLogLevel 4
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]
Na ez azt csinálja, hogy ha nincs ilyen file, vagy könyvtár, akkor átírja az urit beletéve az eredeti uri -t a q nevű paraméterbe.
Szebb megoldás a ?q=$1 és a zárójelek elhagyása, majd a kódban foglalkozni azzal, hogy eredetileg mit kért a felhasználó.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Eddig ez volt:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^www.oldalnev
RewriteRule (.*) http://oldalnev/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
RewriteRule ^([a-zA-z]+)/([0-9]+)/([a-zA-Z]+)/([a-zA-Z]+)$ index.php?center=$1&cat=$2&typ=$3&altyp=$4 [L]
RewriteRule ^([a-zA-z]+)/([0-9]+)/([a-zA-Z]+)$ index.php?center=$1&cat=$2&typ=$3 [L]
RewriteRule ^([a-zA-z]+)/([0-9]+)$ index.php?center=$1&cat=$2 [L]
RewriteRule ^([a-zA-z]+)$ index.php?center=$1 [L]
AddType application/x-httpd-php .css
De épp az a bajom, hogy van olyan file ami a centerbe jönne változó.
Lásd a kérdést. center=kategoria és van kategoria.php
pch
--
http://www.buster.hu "A" számlázó
--
- A hozzászóláshoz be kell jelentkezni
Ahan!
Akkor próbáld (elolvasni a mod_rewrite doksiját), ezt:
RewriteCond %{REQUEST_FILENAME} =(kategoria|kapcsolat|abstract)\.php
Illetve miért van kategoria.php , hiszen ezt át akarod majd írni. Tán át kéne nevezni, vagy helyezni.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Köszi!
Ez alapján és a doksit átrágva ezt kaptam, ami tökéletes:
Options -Indexes Includes FollowSymLinks
RewriteEngine On
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} ^www.oldalnev
RewriteRule (.*) http://oldalnev/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?center=$1&cat=$2&typ=$3&altyp=$4 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?center=$1&cat=$2&typ=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?center=$1&cat=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ index.php?center=$1 [L,QSA]
Köszönöm!
pch
--
http://www.buster.hu "A" számlázó
--
- A hozzászóláshoz be kell jelentkezni
http://www.buster.hu "A" számlázó
Ezek Ti vagytok? Csak én nem találom, vagy "elfelejtettétek" kiírni a weboldalatokra a neveteket, címeteket, telefonszámotokat? Mert egy vállalkozásnál ennek magától értetődőnek kéne lennie, nem vállalkozásként meg nem kéne vállalkozási tevékenységet hirdetgetni.
- A hozzászóláshoz be kell jelentkezni
Egyszerű:
Options -MultiViews
Ez megszünteti az Apache azon tulajdonságát, hogy anélkül is megtalálja a fájlt, hogy a kiterjesztést oda írnád mögé. Szerintem egyszerűbb mint 600 sor rewrite...
--
openSUSE 11.4
- A hozzászóláshoz be kell jelentkezni
A sok rewrite nekem is szúrja a szemem...
- A hozzászóláshoz be kell jelentkezni