2017-03-07 71 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問題: