Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] mod_rewrite czyta tylko 1 regułe
Forum PHP.pl > Forum > Przedszkole
deadwheel
Problem polega na tym ze gdy daje sobie 2 reguly podobne do siebie np

Kod
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&id=$3 [NC]
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&newsID=$3 [NC]


i zawsze bierze ten kod na gorze a nie obydwa i moje pytanie jak temu zaradzic ?

Moj caly htacces

Kod
RewriteEngine On

RewriteBase /
RewriteRule ^/?([a-z]*)/$ index.php?site=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?site=$1&picID=$2 [NC]
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&id=$3 [NC]
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&newsID=$3 [NC]


Nawet jak zmienie kawalek po lewej np bedzie to wygladalo tak:
Kod
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&id=$3 [NC]
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)/$ index.php?site=$1&action=$2&newsID=$3 [NC]


To i tak wezmie tylko ta regulke na gorze .
jaslanin
Cytat
i zawsze bierze ten kod na gorze a nie obydwa i moje pytanie jak temu zaradzic ?


wynika to z:

http://httpd.apache.org/docs/current/mod/m...tml#RewriteRule

Cytat
Subsequent patterns are matched against the output of the last matching RewriteRule


najbardziej ogólną regułe umieszcza się z tego powodu na samym dole / niżej niż te bardziej szczegółowe. Inaczej mówiąc reguły bardziej szczegółowe powinny być wyżej niż ogólne by nie było tego problemu.
deadwheel
Kolego nie masz 100% racji . Problem jest taki ze nie rozpoznaje on roznicy miedzy

tym
Kod
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&id=$3 [NC]

a tym
Kod
RewriteRule ^/?([a-z]*)/([a-z]*)/([0-9]*)\.html$ index.php?site=$1&action=$2&newsID=$3 [NC]


i trzeba zrobic cos takiego np
Kod
RewriteRule ^([^/]*)/([^/]*)/newsID/([^/]*)\.html$ /?site=$1&action=$2&newsID=$3 [NC]
RewriteRule ^([^/]*)/([^/]*)/id/([^/]*)\.html$ /?site=$1&action=$2&id=$3 [NC]


I teraz pieknie dziala

Dzieki za checi a tak przy okazji nie zakladajac nowego tematu ktos z was moze wie czemu jak daje w sekcji head znacznik base i moj link to wczytuje mi strone parenascie razy ta sama ?

Edit: // Kolejny problem z mod_rewrite
Kod
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z]*)\.html$ index.php?site=$1 [NC]
RewriteRule ^([^/]*)/cwID/([^/]*)\.html$ /?site=$1&cwID=$2 [NC]
RewriteRule ^([^/]*)/newsID/([^/]*)\.html$ /?site=$1&newsID=$2 [NC]
RewriteRule ^([^/]*)/action/([^/]*)\.html$ index.php?site=$1&action=$2 [NC]
RewriteRule ^([^/]*)/galleryID/([^/]*)\.html$ /?site=$1&galleryID=$2 [NC]
RewriteRule ^([^/]*)/picID/([^/]*)\.html$ /?site=$1&picID=$2 [NC]
RewriteRule ^([^/]*)/cwID/([^/]*)\.html$ /?site=$1&cwID=$2 [NC]
RewriteRule ^([^/]*)/id/([^/]*)\.html$ /?site=$1&id=$2 [NC]
RewriteRule ^([^/]*)/mailkey/([^/]*)\.html$ /?site=$1&mailkey=$2 [NC]
RewriteRule ^([^/]*)/key/([^/]*)\.html$ /?site=$1&key=$2 [NC]
RewriteRule ^([^/]*)/([^/]*)/newsID/([^/]*)\.html$ /?site=$1&action=$2&newsID=$3 [NC]
RewriteRule ^([^/]*)/([^/]*)/squadID/([^/]*)\.html$ /?site=$1&action=$2&squadID=$3 [


Moze mi ktos powiedziec czemu wszystkie reuglki dzialaja oprocz tej:

Kod
RewriteRule ^([^/]*)/newsID/([^/]*)\.html$ /?site=$1&newsID=$2 [NC]


Ja nie mam zielonego pojecia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.