I need help in php. If the user visits a page or directory that does not exist, I would like the browser to redirect to: //jully.com/pages/404/ I had created 404 page. and .htaccess file but this is not working. 404.php <?php echo "Page not found!"; ?> .htaccess ErrorDocument 404 //jully.com/pages/404/ RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/404/$ RewriteRule ^(.*)$ pages/404.php [L]
.htaccess file (in root directory) ErrorDocument 404 //jully.com/404/ RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/404/$ RewriteRule ^(.*)$ /pages/404.php [L] If a 404-Request comes in, the "ErrorDocument" will redirect the request to "//jully.com/404". At this page, a rewrite rule and condition is implemented. that means, that if the condition matches the current request, the rule gets applied. ^(.*)$ ^ --> startsWith ( --> Open Group . --> AnyCharacter * --> one or more (Any character, at least one or more) ) --> Close Group $ --> End of String The "L" Flag at the end of the rules means "Last". It causes the mod_rewrite (the actual rewrite engine) to stop proccessing the rule set. Means: Everytime the user gets redirected to "//jully.com/404", the htaccess will rewrite the URL and redirect to //jully.com/pages/404.php
Get your .htaccess file in the main directory (in the jully.com directory) and put this in your .htaccess file: ErrorDocument 404 /pages/404/
Try this in your .htaccess: ErrorDocument 404 //jobguide.australianenglishcenter.com/404/ RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/404/$ RewriteRule ^(.*)$ <YourRelativePathToPHPFile>/404.php [L] Here,The ErrorDocument redirects all 404s to a specific URL The Rewrite rules map that URL to your actual 404.php script. The RewriteCond regular expressions can be made more generic if you want, but I think you have to explicitly define all ErrorDocument codes you want to override. NOTE: Replace
Thanks all, I have solved it.
.htaccess ErrorDocument 404 /pages/404.php RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/404/$ RewriteRule ^(.*)$ pages/404.php [L]
When you run a website, it is a good practice to redirect 404 to specific URL, for a good user experience. You can also redirect 404 to homepage of your website/application. Here’s how to redirect 404 to homepage using .htaccess in Apache web server.
Here are the steps to redirect 404 to Homepage using .htaccess. Please ensure that you have enabled mod_rewrite in your Apache web server configuration. Only then your .htaccess configuration will be applied by Apache server.
After you redirect 404 in Apache, you may want to use a reporting software to monitor the key metrics about your website/application such as signups, traffic, sales, revenue, etc. using dashboards & charts, to ensure everything is working well.
1. Open .htaccess file
You will typically find .htaccess file in your site’s root folder (e.g /var/www/html/). You can open it using vi editor
$ sudo vim /var/www/html/.htaccessBonus read: How to Configure Apache Cache in Ubuntu
2. Redirect 404 to Homepage using .htaccess
Apache provides ErrorDocument directive to help you catch all types of error responses. So if you want to redirect all 404 errors to a specific web page (e.g //www.example.com/error.html) just add the following line to your .htaccess file.
ErrorDocument 404 //www.example.com/error.htmlIf you want to redirect 404 to URL (e.g /error) instead of a specific web page, then add the following line
ErrorDocument 404 /error
The above line will rewrite 404 error to URL you have mentioned.
Bonus Read : How To Disable Apache Cache
If you want to redirect 404 to homepage, add the following line
ErrorDocument 404 /
Similarly, if you want to catch all 500 error responses, add the following line
ErrorDocument 500 //www.example.com/error.htmlBonus Read: How To Enable mod_ssl in Apache
3. Restart Apache Server
Restart Apache Server to apply changes
$ sudo service apache2 restartThat’s it! Now apache web server will automatically redirect all 404 error response code to homepage.
By the way, if you want to create charts & dashboards to monitor your business or website, you can try Ubiq. We offer a 14-day free trial.
Related posts:
- About Author