Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 980
<?=getUserTitle()?>
Jeg driver og jobber med ett prosjekt, er jeg har satt opp en rewrite rule for å droppe fil endelsen for php dokumenter og eget 404 dokument
Men når jeg prøver å få opp error dokumentet, så får jeg bare error 500

# ----------------------------------------------------------------------
# Start rewrite engine
# ----------------------------------------------------------------------

<IfModule mod_rewrite.c>
Options +FollowSymlinks
# Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /
</IfModule>

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ $1.php [QSA,L]


# ----------------------------------------------------------------------
# Custom error pages
# ----------------------------------------------------------------------
ErrorDocument 404 /404.php
Vis hele sitatet...
Har prøvd å lage 404 dokumentet til html, men fungerte fortsatt ikke.
Men når jeg fjerner RewriteRule ^(.+)$ $1.php [QSA,L] så fungerer det, men da må jeg bruke .php for å få fram sidene

Noen som vet hva jeg kan gjøre?
Hele .htaccess
Trigonoceps occipita
vidarlo's Avatar
Donor
Har du mod_rewrite tilgjengeleg på tenaren?
&lt;?=getUserTitle()?&gt;
Trådstarter
Ja, mod_rewrite er tilgjengelig
Sist endret av Vikingor; 5. desember 2013 kl. 13:14.
Syntaxen ser ut til å stemme.

Hva slags chmod har du satt på filen?
&lt;?=getUserTitle()?&gt;
Trådstarter
chmod på .htaccess: 644
chmod på 404.php: 644
chmod på home.php: 755
Dårlig skrevet htaccess. Du får en evig internal redirect-loop, som ender i en 500-error når apache når internal redirect limit. Du havner aldri i 404, fordi du redirecter til $1.php hele tiden.

Her ser du output:

Kode

[Thu Dec 05 17:17:31 2013] [error] [client ::1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Thu Dec 05 17:17:31 2013] [debug] core.c(3112): [client ::1] r->uri = /asd.php.php.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd
Quickfix:

Kode

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ $1.php [QSA,L]
Den øverste RewriteCond vil hindre loop, og stanse etter første internal redirect.

Proper fix: lær deg mod_rewrite og flags
Sist endret av danielsk; 5. desember 2013 kl. 17:24.
&lt;?=getUserTitle()?&gt;
Trådstarter
Sitat av danielsk Vis innlegg
Dårlig skrevet htaccess. Du får en evig internal redirect-loop, som ender i en 500-error når apache når internal redirect limit. Du havner aldri i 404, fordi du redirecter til $1.php hele tiden.

Her ser du output:

Kode

[Thu Dec 05 17:17:31 2013] [error] [client ::1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Thu Dec 05 17:17:31 2013] [debug] core.c(3112): [client ::1] r->uri = /asd.php.php.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd.php
[Thu Dec 05 17:17:31 2013] [debug] core.c(3118): [client ::1] redirected from r->uri = /asd
Quickfix:

Kode

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ $1.php [QSA,L]
Den øverste RewriteCond vil hindre loop, og stanse etter første internal redirect.

Proper fix: lær deg mod_rewrite og flags
Vis hele sitatet...

Takker, funket det ja.
Da får jeg bare henge i å lese litt mod_rewrite of flags