【发布时间】:2018-06-12 09:14:31
【问题描述】:
我正在尝试将 404 错误重定向到自定义 php 页面 404.php。
我在我的 .htaccess 文件中使用此代码,但它似乎不起作用。谁能指出我可能做错了什么?
Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule ^([a-z]+)/([a-z\-]+)$ /$1/$2.php
RewriteRule ^s/([^/]*)$ /s.php?share=$1 [L]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ErrorDocument 404 /404.php
【问题讨论】:
-
什么不起作用?它不会重定向或重定向,但会显示错误 404 消息,您不希望这样吗?
-
尝试将
ErrorDocument 404 /404.php放在所有内容之上(如在Options -Multiviews之上)。它可能认为这是您的RewriteCond规则的一部分。 -
@Fred-ii- 我做到了,但还是不行
-
@Prix 它不会重定向。它显示 apaches 默认未找到页面
-
@KwaasiDjin 你在
/home/youraccount/public_html文件夹中有404.php文件吗?
标签: php apache .htaccess mod-rewrite