2017-03-07 72 views
0

用htaccess再次卡住。如何将404页面添加到特定的子目录?只有特定子目录的htaccess 404页面(静态html页面)

在我的情况下,404页面只应该影响“登台”子目录(以及登台内部的目录),但不会影响放在根目录中的根目录或任何其他子目录。

http://example.com/分期

的代码是在目录“分期”我的.htaccess文件:

RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^(.*)$ $1.html [L] 

Options -Indexes -MultiViews 
RewriteEngine on 

RewriteRule ^arbeiten/$ /staging/arbeiten/alle [R=301,L] 
RewriteRule ^journal/$ /staging/journal/journal-alle [R=301,L] 

ErrorDocument 404 /staging/404.html 

使用上面的代码(以及其他许多)导致内部服务器错误。

+0

你的错误日志说什么? – starkeen

+0

关于我的500内部服务器错误,没有什么可以找到的。至少不在放在根目录下的错误日志中。 – Alex

+0

不幸的是,它没有任何区别 - 仍然出现500内部服务器错误。 – Alex

回答

0

更新#1到我的第一个问题。 一般来说,代码/答案提供给未找到404页添加到特定子目录的工作原理:

ErrorDocument 404 /staging/404.html 

为什么它仍然不能正常工作的原因是因为必须有整体的.htaccess一些错误与代码相关的设置删除.html扩展名和/或重定向到文件夹中的页面

Options -Indexes -MultiViews 
RewriteEngine on 

RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^(.*)$ $1.html [L] 
RewriteRule ^arbeiten/$ /staging/arbeiten/alle [R=301,L] 
RewriteRule ^journal/$ /staging/journal/journal-alle [R=301,L] 

ErrorDocument 404 /at/404.html 

我将继续进一步调查我的.htaccess中的设置。

更新#2 使用下面的.htaccess脚本允许在HostGator的的cPanel网格特定的子目录中删除HTML扩展,目录内的页面重定向到一个特定的页面和基本工作找不到404页托管(apache)。

Options -Indexes -MultiViews 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L] 

RewriteRule ^arbeiten/$ /staging/arbeiten/alle [R=301,L] 
RewriteRule ^journal/$ /staging/journal/journal-alle [R=301,L] 
ErrorDocument 404 http://www.example.com/staging/404 

剩余404问题: