Permalänk
Medlem

.htaccess ErrorDocument

Error document 403 funkar inte för mig men 404 funkar för mig.

Webbläsaren klagar på att det finns för många omdirigeringar när jag blockar en ip. Men 404 funkar felfritt. Det finns självklart adresser bakom *

Vad har jag gjort för fel?

order allow,deny deny from * deny from * allow from all RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php ErrorDocument 403 * ErrorDocument 404 *

Permalänk
Medlem
Skrivet av kobbe92:

Error document 403 funkar inte för mig men 404 funkar för mig.

Webbläsaren klagar på att det finns för många omdirigeringar när jag blockar en ip. Men 404 funkar felfritt. Det finns självklart adresser bakom *

Vad har jag gjort för fel?

order allow,deny deny from * deny from * allow from all RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php ErrorDocument 403 * ErrorDocument 404 *

Så här går ErrorDocument

RewriteEngine on

ErrorDocument 403 /MINERROR.html
ErrorDocument 404 /MINERROR.html
eller
ErrorDocument 403 /MINERROR.php
ErrorDocument 404 /MINERROR.php

Gå till min sida http://www.serversiter.com/ sedan skriv typ http://www.serversiter.com/12312123
Då kommer min ErrorDocument 404 /error.php och skickar dig till http://www.serversiter.com/error.php

Och jag hoppas att du inte använder folders. etc http://www.kobbe92.se/kobbe92/ är det en folder eller bara en RewriteRule?

RewriteEngine On
RewriteRule ^kobbe92$ /ANDRA.php [L]
RewriteRule ^kobbe92/info$ /ANDRA.php [L]
RewriteRule ^kobbe92/blogg$ /ANDRA.php [L]
RewriteRule ^kobbe92/foton$ /ANDRA.php [L]
RewriteRule ^kobbe92/gastbook$ /ANDRA.php [L]

Sen är det bara att skriva http://www.kobbe92.se/kobbe92 utan att ha folders.

Sparar mer tid såhär.

Jag undrar om du använder php include till menyn?

Permalänk
Medlem
Skrivet av chenk:

Så här går ErrorDocument

RewriteEngine on

ErrorDocument 403 /MINERROR.html
ErrorDocument 404 /MINERROR.html
eller
ErrorDocument 403 /MINERROR.php
ErrorDocument 404 /MINERROR.php

Gå till min sida http://www.serversiter.com/ sedan skriv typ http://www.serversiter.com/12312123
Då kommer min ErrorDocument 404 /error.php och skickar dig till http://www.serversiter.com/error.php

Och jag hoppas att du inte använder folders. etc http://www.kobbe92.se/kobbe92/ är det en folder eller bara en RewriteRule?

RewriteEngine On
RewriteRule ^kobbe92$ /ANDRA.php [L]
RewriteRule ^kobbe92/info$ /ANDRA.php [L]
RewriteRule ^kobbe92/blogg$ /ANDRA.php [L]
RewriteRule ^kobbe92/foton$ /ANDRA.php [L]
RewriteRule ^kobbe92/gastbook$ /ANDRA.php [L]

Sen är det bara att skriva http://www.kobbe92.se/kobbe92 utan att ha folders.

Sparar mer tid såhär.

Jag undrar om du använder php include till menyn?

Jag har flera sajter på min server. Och i www mappen ligger då en folder för varje sajt. När ip;n anropas via en domän har jag en php fil som säger åt den vilken folder den ska leta i: nämligen såhär:

<?php $domain1 = "site"; $domain2 = "site"; $domain3 = "site"; $domain4 = "site"; $domain5 = "site"; $domain6 = "site"; $domain7 = "site"; $domain8 = "site"; if($domain1 == $_SERVER['HTTP_HOST'] || $domain2 == $_SERVER['HTTP_HOST']) { header('Location: site1); } if($domain3 == $_SERVER['HTTP_HOST'] || $domain4 == $_SERVER['HTTP_HOST']) { header('Location: site2); } if($domain5 == $_SERVER['HTTP_HOST'] || $domain6 == $_SERVER['HTTP_HOST']) { header('Location: site3); } if($domain7 == $_SERVER['HTTP_HOST'] || $domain8 == $_SERVER['HTTP_HOST']) { header('Location: site4'); } else{

Varför skulle jag inte ha en folder?

Min 404 fungerar utmärkt: http://www.kobbe92.se/kobbe92/asdasdagfasgagasga

Problemet är att min 403 inte dyker upp hur fixar jag det?

Permalänk
Testpilot

Att du får oändliga omdirigeringar beror troligtvis på att när du blockerar en IP-adress i så blockerar du den även för 403-sidan. Användaren som inte ska komma åt dina sida kan heller inte komma åt errorsidan som du dirigerar vidare till och kommer alltså dirigeras om i all oändlighet.

Lösningen är alltså att låta alla komma åt 403-dokumentet, flytta det exempelvis till en annan katalog som du tillåter för alla.

Att ha flera domäner på samma servern löses förresten smidigast med http://www.google.se/search?q=virtual+hosts, din lösning med massa if-satser är långt ifrån optimal och klassas troligen som en fullösning.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem
Skrivet av hunden:

Att du får oändliga omdirigeringar beror troligtvis på att när du blockerar en IP-adress i så blockerar du den även för 403-sidan. Användaren som inte ska komma åt dina sida kan heller inte komma åt errorsidan som du dirigerar vidare till och kommer alltså dirigeras om i all oändlighet.

Lösningen är alltså att låta alla komma åt 403-dokumentet, flytta det exempelvis till en annan katalog som du tillåter för alla.

Att ha flera domäner på samma servern löses förresten smidigast med http://www.google.se/search?q=virtual+hosts, din lösning med massa if-satser är långt ifrån optimal och klassas troligen som en fullösning.

Tackar flyttade 403a sidan ut i "www" och det fungerade fint!

Citat:

Att ha flera domäner på samma servern löses förresten smidigast med http://www.google.se/search?q=virtual+hosts, din lösning med massa if-satser är långt ifrån optimal och klassas troligen som en fullösning.

Tror jag förstår vad du menar, men i vilken fil på servern ska jag ändra detta?

Permalänk
Medlem

Har testat att skriva så här men det fungerar inte.

# Virtual hosts #Include conf/extra/httpd-vhosts.conf <VirtualHost ipadress:80> DocumentRoot /www/kobbe92 ServerName www.kobbe92.se # Other directives here </VirtualHost> <VirtualHost ipadress:80> DocumentRoot /www/site2 ServerName www.site2.se # Other directives here </VirtualHost> # Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf