2011-06-23 59 views
3

我想重定向url help.html到help.php(內部)使用.htaccess重寫,但同時,我想給出404錯誤消息,如果有人試圖直接訪問help.phphtaccess:將file.php重定向到file.html,同時阻止對file.php的直接訪問

我見過大量的教程,很多問題都回答了,但沒有解決這個問題。

這可能嗎?

編輯: 對於有人看着來自外部的URL,他只會看到help.html存在,但不是help.php(即使只是內部help.php存在,但不是help.html) :)

+1

你打算如何使重定向的請求之間的區別help.php或給它一個404錯誤? – qbert220

+1

根據你的問題,當你想要做這兩件事情時,沒有辦法區分。只需選擇一個最有意義的(可能是重定向)。 –

+0

沒有理由給404,只是在htaccess文件中使用301重定向(如@hughes建議) – yoavmatchulsky

回答

-3

使用元標籤x秒

<meta HTTP-EQUIV="REFRESH" content="10; url=http://www.yourdomain.com/help.html"> 
+0

這不是正確的方法。他正在要求一個404錯誤。 – technology

1
在.htaccess文件

後,從help.php(404頁)重定向到help.html頁面,則可以使用「永久重定向」命令:

Redirect 301 /help.php /help.html 
2
<Files help.php> 
    order allow,deny 
    Allow from 127.0.0.1 
    deny from all 
</Files> 
RewriteEngine On 
RewriteRule help.html$ help.php [L] 

,你可能會想添加 AddType application/x-httpd-php .html使現在PHP執行顯示爲HTML/TEXT。

編輯: ,您可以通過在頁面中添加此ErrorDocument 403 404.php,並把404錯誤HTML代碼給404錯誤(的Cuz這htaccess的將給予403錯誤)

+0

這是非常非常接近,但它仍然給我一個403(404與錯誤文檔重定向),當我嘗試訪問help.html ... – Tony

+0

這就像我拒絕訪問help.php後,重寫規則,似乎自動跳入這種拒絕,儘管我正在重寫(引導)它。 – Tony

+0

確定編輯了代碼,現在試試。 – 0xAli

相關問題