Verwijderd

Topicstarter
Goedemorgen,

Ik heb een website van me altijd getest op mn eigen linux bakje, nu moet ik 'm echter overzetten naar een unix, en daar krijg ik een internal server error.

Als ik dit weghaal uit mn .htaccess, krijg ik geen internal server error, maar kan hij de stylesheets e.d ook niet vinden dan weer:

code:
1
RewriteRule ^(.*?)$ $1 [L]


Mn gehele .htaccess(Die naar mijn idee prima is)

code:
1
2
3
4
5
6
7
8
9
10
11
RewriteEngine ON


RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]

RewriteRule ^(.*?)$ $1 [L]
RewriteRule ^(.*)/(.*)/(.*)/(.*) index.php?page=$1&page2=$2&page3=$3&page4=$4 [L]
RewriteRule ^(.*)/(.*)/(.*) index.php?page=$1&page2=$2&page3=$3 [L]
RewriteRule ^(.*)/(.*) index.php?page=$1&page2=$2 [L]
RewriteRule ^(.*) index.php?page=$1 [L]

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
daar krijg ik een internal server error
En dus heb je al verder gekeken wat die internal server error inhoud?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 01-02 18:42
Even in je error_log kijken.

Ik raad dat mod_rewrite niet is geactveerd.

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Inderdaad, ik zou gokken dat de rewrite-module niet is ingeschakeld of iets dergelijks :)

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • pennywiser
  • Registratie: November 2002
  • Laatst online: 02-02 20:08
Error log!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Verwijderd schreef op woensdag 09 september 2009 @ 11:30:
nu moet ik 'm echter overzetten naar een unix
Wat is 'een unix'?

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Effe error log bekeken...

Geeft

code:
1
RewriteRule: cannot compile regular expression '^(.*?)$'\n


Heb even snel gegoogled, maar wordt er niet echt wijzer van. Kan iemand hierbij assisteren?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 02-02 19:38

Creepy

Tactical Espionage Splatterer

De melding lijkt me duidelijk. De regexp lijkt een fout te bevatten volgens de webserver. Dus welke webserver draai je thuis op je linux en welke draait je hoster? Vergelijk daar de verschillen tussen (en dan met name de rewrite modules e.d.) en dan lijkt het me dat je daar zelf prima uit kan komen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Alternatief:
code:
1
2
3
4
5
6
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]


En dan lees je in je php applicatie de request uri uit (maak een router). Zo zit je later niet vast aan apache, maar kan je makkelijker migreren naar bijv. lighttpd, nginx, ...

Misschien werkt deze voor jou wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RewriteEngine ON

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

# is de volgende wel nodig?
# RewriteRule ^(.*)$ $1 [L]

RewriteRule ^(.*)/(.*)/(.*)/(.*) index.php?page=$1&page2=$2&page3=$3&page4=$4 [L]
RewriteRule ^(.*)/(.*)/(.*) index.php?page=$1&page2=$2&page3=$3 [L]
RewriteRule ^(.*)/(.*) index.php?page=$1&page2=$2 [L]
RewriteRule ^(.*) index.php?page=$1 [L]

[ Voor 39% gewijzigd door Verwijderd op 10-09-2009 18:59 ]


Verwijderd

Topicstarter
Rutgerlak, je bent geweldig. Mijn dank is enorm, deze werkt!

Verwijderd

Regels 11 t/m 14 zijn echt onzin. Dat werkt slecht ontwerp en slordigheid in de hand.
Gebruik één RewriteRule die naar index.php stuurt, en handel in dat script de boel verder af. Je kunt gewoon met $_SERVER['REQUEST_URI'] aan de gang.

Als je applicatie URL's moet kunnen opbouwen, is het ook logisch dat de applicatie URL's kan ontleden.

[ Voor 8% gewijzigd door Verwijderd op 10-09-2009 19:09 ]

Pagina: 1