Permalänk
Inaktiv

Htaccess rewriterules

Hej, undrar om det är någon som vet..
När jag lägger till min sista regel som nu är ut kommenterad får jag 500 error.

Jag är ingen hejare på RewriteRules. Det jag vet är att det är regular expressions som gäller och
att RewirteCond ändast gäller för den första RewriteRulen. Vet dock inte varför min sista inte vill
vara med allt annat fungerar. Så länge den sista är ut kommenterad. Det jag gissar mig till att
den krockar med något då jag inte kan se att det är fel på den.
Vet dock inte vad då jag som sagt inte är helt hemma med detta.

Hjälp uppskattas.

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^action/([^/?]*)/([^/?]*) ?action=true&as_class=$1&as_method=$2 [L,QSA] RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^lang/([^/?]*)/([^/?]*)/([^/?]*) ?lang=$1&page=$2&subpage=$3 [L,QSA] RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^lang/([^/?]*)/([^/?]*) ?lang=$1&page=$2 [L,QSA] RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^lang/([^/?]*) ?lang=$1 [L,QSA] RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^([^/?]*)/([^/?]*) ?page=$1&subpage=$2 [L,QSA] #Won't work I don't know why? #RewriteCond %{REQUEST_URI} !-f #RewriteCond %{REQUEST_URI} !-d # #RewriteRule ([^/?]*) ?page=$1 [L,QSA]

Permalänk
Inaktiv

Du måste escapea slashen

Fel:

([^/?]*)

Rätt:

([^\/?]*)

Jag misstänker dock att den regexpen inte kommer ge resultatet du vill ha.

Permalänk
Inaktiv
Skrivet av anon214934:

Du måste escapea slashen

Fel:

([^/?]*)

Rätt:

([^\/?]*)

Jag misstänker dock att den regexpen inte kommer ge resultatet du vill ha.

Kan inte se att det gör någon skillnad att göra escape på dem.
Har nu bara den bråkande regeln för att hitta orsaken till detta problem.

Hittade iaf tillslut något som fick det att fungera, dock förstår jag inte varför..

Så från det:

RewriteRule ([^/?]*) ?page=$1 [L,QSA]

Till detta:

RewriteRule ([^/?]*) index.php?page=$1 [L,QSA]

Permalänk
Medlem

problemet, från början, var nog att du inte angav att sökvägen måste börja någonstans.
du skulle kunna testa följande och se om det fungerar;

RewriteRule ^([^/?]*) ?page=$1 [L,QSA]

tar man bort "taket" i början, så matchar resultatet av din omskrivning samma regel igen och skrivs därför om "i all oändlighet". jag förmodar att detta leder till ditt internal server error.

Visa signatur

as far as we can tell, the massacre went well...

Permalänk
Inaktiv
Skrivet av jovnas:

problemet, från början, var nog att du inte angav att sökvägen måste börja någonstans.
du skulle kunna testa följande och se om det fungerar;

RewriteRule ^([^/?]*) ?page=$1 [L,QSA]

tar man bort "taket" i början, så matchar resultatet av din omskrivning samma regel igen och skrivs därför om "i all oändlighet". jag förmodar att detta leder till ditt internal server error.

Nope, det där funkar inte. Kan ha med eller utan tak så länge index.php är definierat. Tar jag bort index.php så slutar det fungera.