-
404 redirect
Jag har gjort om min sajt till php. Vart tvungen att ändra .htacess till htacess.txt för att det skulle funka. Detta var online hjälpen på webhotellet som sa att jag skulle göra.
Har nu fått problem med 404 redirect. Kan jag få någon bra lösning tack.
/J
-
Byt namn på filen när den ligger på servern till .htaccess så lär det fungera. Om det nu inte är en windows-server.
-
Nu funkar det ännu sämre.. Går inte uppdatera sidan (F5)
-
Jaha får du byta tillbaka då och se om du kodat den rätt.
-
ErrorDocument 404 /badrequest.php
ErrorDocument 403 /badrequest.php
ErrorDocument 500 /badrequest.php
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^.+.php$ /bogusfile
-
Jag använder one som webhotell
-
Då vi är direkta konkurrenter känns det lite motigt att hjälpa dig... men men.
Det Urban säger är rätt. Filen måste heta .htaccess för att det ska ha någon betydelse. Men om du vet/märker att One har gjort en specialgrej så använd htaccess.txt.
Denna kod skapar egna felsidor samt redirectar allt som slutar på .php till /bogusfile
Kod:
ErrorDocument 404 /badrequest.php
ErrorDocument 403 /badrequest.php
ErrorDocument 500 /badrequest.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*\.php$ /bogusfile [R=301,L]
Jag kollade på koden och gissade att det är det du vill. För tydlighetens skull vill jag säga att 404 = File not found och inte någon form av redirect.
Du vill inte redirecta dina besökare till badrequest.php, du vill bara ladda in den filen istället för default, vilket koden ovan gör.
-
All respekt till Tobias som hjälper "motståndarlaget" :)
Det jag helst skulle vilja är att all "404-trafik", om man kan kalla det så? Landar på startsidan, alternativt på en badrequest-sida.
-
Jo jag förstod det. Koden ovan gör så 404-trafiken hamnar på sidan /badrequest.php. Jag testade och det funkar. Som sagt sker det ingen redirect, dvs URLen är fortfarande www.mindomän.se/en-sida-som-inte-finns
Om du vill att urlen ska ändras så bör du ändra en hel del.... Tanken är att med php eller instruktioner i .htaccess skriva "om URI inte matchar någon av dessa sidor, visa startsidan".
Jag är nästan säker att det inte går att skicka iväg 301 headers i badrequest.php. För att 404 headers är redan skickade..
-
Efter en del hackande löste jag det :) Nu funkar det!
Problemet från början var att jag försökte rikta 404-trafiken till startsidan, det gjorde att allt ballade ur.
Därav på uppdrag av one's online hjälp ändrade jag den till htaccess.txt vilket gjorde att sidan funkade över huvudtaget, men inte 404 trafiken.
Sedan blev allt bara rörigt med textfiler och inte textfiler och badrequest till höger och vänster.
Så lösningen blev .htaccess med 404 riktad till badrequest. Vill minnas att jag testade denna kombination i början av mitt felsökande, men men...
Jag kan tillägga att det började funka samtidigt som jag chattade med online hjälpen, så de kanske ändrade nåt på webhotellet samtidigt, vem vet.....