Php 试图将ErrorDocuments添加到HTACCESS,但重写冲突
我在这件事上有点麻烦。我希望有任何错误代码,用户得到(400401403404500)路由到根目录中名为error.php的页面 我已经在网上尽可能地研究过了,但没有发现任何运气。我的问题有点特殊,我对htaccess文件的知识非常基础 代码如下:Php 试图将ErrorDocuments添加到HTACCESS,但重写冲突,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,我在这件事上有点麻烦。我希望有任何错误代码,用户得到(400401403404500)路由到根目录中名为error.php的页面 我已经在网上尽可能地研究过了,但没有发现任何运气。我的问题有点特殊,我对htaccess文件的知识非常基础 代码如下: ## Route error pages ErrorDocument 400 /error.php ErrorDocument 401 /error.php ErrorDocument 403 /error.php ErrorDocument 404
## Route error pages
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
Options +FollowSymlinks -Multiviews -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php
RewriteRule ^item/(.*)$ ./itemlookup.php?search=$1
RewriteRule ^recipe/(.*)$ ./recipelookup.php?search=$1
RewriteRule ^secret/recipe/(.*)$ ./secret/recipelookup.php?search=$1
RewriteRule ^api/json/idbyname/(.*)$ ./api/json/getidbyname.php?id=$1 [QSA]
RewriteRule ^api/csv/idbyname/(.*)$ ./api/csv/getidbyname.php?id=$1 [QSA]
RewriteRule ^api/json/item/(.*)$ ./api/json/items.php?id=$1 [QSA]
RewriteRule ^api/csv/item/(.*)$ ./api/csv/items.php?id=$1 [QSA]
RewriteRule ^api/json/forge/(.*)$ ./api/json/mysticforge.php?id=$1 [QSA]
RewriteRule ^api/csv/forge/(.*)$ ./api/csv/mysticforge.php?id=$1 [QSA]
RewriteRule ^api/json/history/(.*)$ ./api/json/tradehistory.php?id=$1 [QSA]
RewriteRule ^api/csv/history/(.*)$ ./api/csv/tradehistory.php?id=$1 [QSA]
RewriteRule ^api/json/history-daily/(.*)$ ./api/json/tradehistorydaily.php?id=$1 [QSA]
RewriteRule ^api/csv/history-daily/(.*)$ ./api/csv/tradehistorydaily.php?id=$1 [QSA]
RewriteRule ^api/json/recipe/(.*)$ ./api/json/craftingrecipes.php?id=$1 [QSA]
RewriteRule ^api/csv/recipe/(.*)$ ./api/csv/craftingrecipes.php?id=$1 [QSA]
RewriteRule ^api/json/exchange/(.*)$ ./api/json/gemexchange.php [QSA]
RewriteRule ^api/csv/exchange/(.*)$ ./api/csv/gemexchange.php [QSA]
#Gzip Compression, Saves on bandwidth
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript application/vnd.ms-fontobject application/x-font-ttf image/svg+xml
</ifmodule>
#End Gzip
## EXPIRES CACHING - 1 Month ##
<FilesMatch "\.(gif|png|jpg|jpeg|woff|woff2|svg)$">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</FilesMatch>
<FilesMatch "^(jquery-1\.9\.1\.min\.js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</FilesMatch>
##路由错误页面
ErrorDocument 400/error.php
ErrorDocument 401/error.php
ErrorDocument 403/error.php
ErrorDocument 404/error.php
ErrorDocument 500/error.php
选项+后续符号链接-多视图-索引
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$$1.php
重写规则^item/(.*)$./itemlookup.php?搜索=$1
重写规则^recipe/(.*)$。/recipelookup.php?搜索=$1
重写规则^secret/recipe/(.*)$。/secret/recipelookup.php?搜索=$1
重写规则^api/json/idbyname/(*)$./api/json/getidbyname.php?id=$1[QSA]
重写规则^api/csv/idbyname/(*)$./api/csv/getidbyname.php?id=$1[QSA]
重写规则^api/json/item/(.*)$./api/json/items.php?id=$1[QSA]
重写规则^api/csv/item/(.*)$./api/csv/items.php?id=$1[QSA]
重写规则^api/json/forge/(.*)$./api/json/mysticforge.php?id=$1[QSA]
重写规则^api/csv/forge/(*)$./api/csv/mysticforge.php?id=$1[QSA]
重写规则^api/json/history/(.*)$./api/json/tradehistory.php?id=$1[QSA]
重写规则^api/csv/history/(.*)$./api/csv/tradehistory.php?id=$1[QSA]
重写规则^api/json/history daily/(.*)$./api/json/tradehistorydaily.php?id=$1[QSA]
重写规则^api/csv/history daily/(.*)$./api/csv/tradehistorydaily.php?id=$1[QSA]
重写规则^api/json/recipe/(*)$./api/json/craftingrecipes.php?id=$1[QSA]
重写规则^api/csv/recipe/(.*)$./api/csv/craftingrecipes.php?id=$1[QSA]
重写规则^api/json/exchange/(*)$./api/json/gemexchange.php[QSA]
重写规则^api/csv/exchange/(.*)$./api/csv/gemexchange.php[QSA]
#Gzip压缩,节省带宽
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript application/vnd.ms-fontobject application/x-font-ttf image/svg+xml
#结束Gzip
##过期缓存-1个月##
过期于
ExpiresDefault“访问加1个月”
过期于
ExpiresDefault“访问权限加1年”
我的用户将正确查看现有页面。但是任何404页错误和它的相似性都将被重新路由到500个内部服务器错误(没有错误页路由)
简而言之,ErrorDocument行不起作用。感谢您的帮助
真诚地,
重燃机
.php
添加规则.php
## Route error pages
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
Options +FollowSymlinks -Multiviews -Indexes
RewriteEngine on
RewriteRule ^(index|error)\.php$ - [L,NC]
RewriteRule ^item/(.*)$ itemlookup.php?search=$1 [L,QSA]
RewriteRule ^recipe/(.*)$ recipelookup.php?search=$1 [L,QSA]
RewriteRule ^secret/recipe/(.*)$ secret/recipelookup.php?search=$1 [L,QSA]
RewriteRule ^api/json/idbyname/(.*)$ api/json/getidbyname.php?id=$1 [QSA,L]
RewriteRule ^api/csv/idbyname/(.*)$ api/csv/getidbyname.php?id=$1 [QSA,L]
RewriteRule ^api/json/item/(.*)$ api/json/items.php?id=$1 [QSA,L]
RewriteRule ^api/csv/item/(.*)$ api/csv/items.php?id=$1 [QSA,L]
RewriteRule ^api/json/forge/(.*)$ api/json/mysticforge.php?id=$1 [QSA,L]
RewriteRule ^api/csv/forge/(.*)$ api/csv/mysticforge.php?id=$1 [QSA,L]
RewriteRule ^api/json/history/(.*)$ api/json/tradehistory.php?id=$1 [QSA,L]
RewriteRule ^api/csv/history/(.*)$ api/csv/tradehistory.php?id=$1 [QSA,L]
RewriteRule ^api/json/history-daily/(.*)$ api/json/tradehistorydaily.php?id=$1 [QSA,L]
RewriteRule ^api/csv/history-daily/(.*)$ api/csv/tradehistorydaily.php?id=$1 [QSA,L]
RewriteRule ^api/json/recipe/(.*)$ api/json/craftingrecipes.php?id=$1 [QSA,L]
RewriteRule ^api/csv/recipe/(.*)$ api/csv/craftingrecipes.php?id=$1 [QSA,L]
RewriteRule ^api/json/exchange/(.*)$ api/json/gemexchange.php [QSA,L]
RewriteRule ^api/csv/exchange/(.*)$ api/csv/gemexchange.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
#Gzip Compression, Saves on bandwidth
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript application/vnd.ms-fontobject application/x-font-ttf image/svg+xml
</ifmodule>
#End Gzip
##路由错误页面
ErrorDocument 400/error.php
ErrorDocument 401/error.php
ErrorDocument 403/error.php
ErrorDocument 404/error.php
ErrorDocument 500/error.php
选项+后续符号链接-多视图-索引
重新启动发动机
重写规则^(索引|错误)\.php$-[L,NC]
重写规则^item/(.*)$itemlookup.php?search=$1[L,QSA]
重写规则^recipe/(*)$recipelookup.php?搜索=$1[L,QSA]
重写规则^secret/recipe/(.*)$secret/recipelookup.php?搜索=$1[L,QSA]
重写规则^api/json/idbyname/(*)$api/json/getidbyname.php?id=$1[QSA,L]
重写规则^api/csv/idbyname/(*)$api/csv/getidbyname.php?id=$1[QSA,L]
重写规则^api/json/item/(.*)$api/json/items.php?id=$1[QSA,L]
重写规则^api/csv/item/(.*)$api/csv/items.php?id=$1[QSA,L]
重写规则^api/json/forge/(*)$api/json/mysticforge.php?id=$1[QSA,L]
重写规则^api/csv/forge/(.*)$api/csv/mysticforge.php?id=$1[QSA,L]
重写规则^api/json/history/(.*)$api/json/tradehistory.php?id=$1[QSA,L]
重写规则^api/csv/history/(.*)$api/csv/tradehistory.php?id=$1[QSA,L]
重写规则^api/json/history daily/(.*)$api/json/tradehistorydaily.php?id=$1[QSA,L]
重写规则^api/csv/history daily/(.*)$api/csv/tradehistorydaily.php?id=$1[QSA,L]
重写规则^api/json/recipe/(.*)$api/json/craftingrecipes.php?id=$1[QSA,L]
重写规则^api/csv/recipe/(.*)$api/csv/craftingrecipes.php?id=$1[QSA,L]
重写规则^api/json/exchange/(*)$api/json/gemexchange.php[QSA,L]
重写规则^api/csv/exchange/(*)$api/csv/gemexchange.php[QSA,L]
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则^(+?)/?$$1.php[L]
#Gzip压缩,节省带宽
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript application/vnd.ms-fontobject application/x-font-ttf image/svg+xml
#结束Gzip
因此,您的重点是当用户到达error.php时,{500 internal server error}就会出现。请检查apache错误日志,以查看导致500错误的原因。我会从那里开始。