在 htaccess 中重定向 404 错误后重写 URL
Rewrite URL after redirecting 404 error in htaccess
如何重定向 404,我在 htaccess 中添加了这个
ErrorDocument 404 http://example.com/404/
ErrorDocument 500 http://example.com/500/
# or map them to one error document:
# ErrorDocument 404 /pages/errors/error_redirect.php
# ErrorDocument 500 /pages/errors/error_redirect.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/404/$
RewriteRule ^(.*)$ /pages/errors/404.php [L]
RewriteCond %{REQUEST_URI} ^/500/$
RewriteRule ^(.*)$ /pages/errors/500.php [L]
# or map them to one error document:
#RewriteCond %{REQUEST_URI} ^/404/$ [OR]
#RewriteCond %{REQUEST_URI} ^/500/$
#RewriteRule ^(.*)$ /pages/errors/error_redirect.php [L]
它减少了,但它们在增加,有什么方法可以正确重定向,或者我可能漏掉了什么。我怎样才能修复所有这些问题?
谢谢
您不需要使用 RewriteRules。您可以简单地使用绝对路径而不是使用完整的 url 作为错误文档目标:
ErrorDocument 404 /pages/errors/404.php
如何重定向 404,我在 htaccess 中添加了这个
ErrorDocument 404 http://example.com/404/
ErrorDocument 500 http://example.com/500/
# or map them to one error document:
# ErrorDocument 404 /pages/errors/error_redirect.php
# ErrorDocument 500 /pages/errors/error_redirect.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/404/$
RewriteRule ^(.*)$ /pages/errors/404.php [L]
RewriteCond %{REQUEST_URI} ^/500/$
RewriteRule ^(.*)$ /pages/errors/500.php [L]
# or map them to one error document:
#RewriteCond %{REQUEST_URI} ^/404/$ [OR]
#RewriteCond %{REQUEST_URI} ^/500/$
#RewriteRule ^(.*)$ /pages/errors/error_redirect.php [L]
它减少了,但它们在增加,有什么方法可以正确重定向,或者我可能漏掉了什么。我怎样才能修复所有这些问题?
谢谢
您不需要使用 RewriteRules。您可以简单地使用绝对路径而不是使用完整的 url 作为错误文档目标:
ErrorDocument 404 /pages/errors/404.php