Erialos
Erialos

Reputation: 117

Rewriting my ErrorDocument Urls to more friendly url

Here is my .htaccess

Options +FollowSymlinks +Includes +SymLinksIfOwnerMatch +ExecCGI -MultiViews -Indexes
<files .htaccess>
   Order allow,deny
   Deny from all
</files>

ErrorDocument 400 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=400
ErrorDocument 401 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=401
ErrorDocument 403 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=403
ErrorDocument 404 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=404
ErrorDocument 405 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=405
ErrorDocument 406 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=406
ErrorDocument 407 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=407
ErrorDocument 408 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=408
ErrorDocument 409 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=409
ErrorDocument 410 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=410
ErrorDocument 411 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=411
ErrorDocument 412 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=412
ErrorDocument 413 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=413
ErrorDocument 414 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=414
ErrorDocument 415 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=415
ErrorDocument 500 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=500
ErrorDocument 501 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=501
ErrorDocument 502 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=502
ErrorDocument 503 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=503
ErrorDocument 504 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=504
ErrorDocument 505 https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=505

<IfModule mod_rewrite.c>
RewriteEngine on

### Force Site in SSL ###

RewriteCond %{HTTP_HOST} ^(www\.)?agentc0re\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://agentc0re.com/$1 [R,L]

### rewrite site for HTTPS or HTTP to be non WWW ###

#RewriteCond %{HTTPS} off
#RewriteCond %{HTTP_HOST} ^(www\.)?agentc0re.com$ [NC]
#RewriteRule ^(.*)$ http://agentc0re.com/$1 [R=301,L,NC]

#RewriteCond %{HTTPS} on
#RewriteCond %{HTTP_HOST} ^(www\.)?agentc0re.com$ [NC]
#RewriteRule ^(.*)$ https://agentc0re.com/$1 [R=301,L,NC]

### Remove /agentc0re/ from URL ###

RewriteCond %{HTTP_HOST} ^(www.)?agentc0re.com$ [NC]
RewriteCond %{REQUEST_URI} !^/agentc0re/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /agentc0re/$1 [L]
RewriteCond %{HTTP_HOST} ^(www.)?agentc0re.com$ [NC]
RewriteRule ^(/)?$ agentc0re/index.php [L]

### Rewrite the Error Codes to be more simple

RewriteCond %{HTTP_HOST} ^(www.)?agentc0re.com$ [NC]
RewriteCond %{REQUEST_URI} !^/brokebot/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /brokebot/$1 [L]
#RewriteRule ^([0-9]{3})/?$ /brokebot/errorpages-headless-robot.html?errorcode=$1 [L,NC]
RewriteCond %{HTTP_HOST} ^(www.)?agentc0re.com$ [NC]
RewriteRule ^/(.*)$ brokebot/errorpages-headless-robot.html?errorcode=$1 [L,NC]

</IfModule>

#
# If Apache is compiled with built in mod_deflade/GZIP support
# then GZIP Javascript, CSS, HTML and XML so they're sent to
# the client faster.
#
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE application/x-javascript text/css text/html text/xml
</IfModule>

I have all the ErrorDocument codes i want to use. But i want to rewrite the url from EG:

https://agentc0re.com/brokebot/errorpages-headless-robot.html?errorcode=400
TO
https://agentc0re.com/400

The line in my .htaccess file that says

### Rewrite the Error Codes to be more simple

Is where i've been trying things, as you can see. But i've been unsuccessful in getting anything to work. Would someone mind helping me out?

Thanks!

Upvotes: 0

Views: 81

Answers (1)

Amit Verma
Amit Verma

Reputation: 41249

put the following bellow HTTP to HTTPS redirection rule

 #Rewrite errorpages
 RewriteCond %{THE_REQUEST} /erropages-headless-robot\.html\?errorcode=([0-9]+) [NC]
RewriteRule ^ /%1? [NE,NC,L,R]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)$ /brokebot/erropages-headless-robot.html?errorcode=$1 [NC,L]
#End of error page rewrite

This code will map

 example.com/error_code

to

 /brokebot/erropages-headless-robot.html?errorcode=error_code

Then, instead of adding the full url to errodocumen path, you can just add an abosolute path "/404" ,"/403"

ex :

ErrorDocument 404 /404
ErrorDocument 403 /403
ErrorDocument 410 /410

Upvotes: 1

Related Questions