2017-04-13 47 views
0

我正在爲客戶端編輯一個網站,並且遇到了一些障礙。如果重要的話,大多數的網站是在PHP中完成的。我可以編輯和發佈現有的頁面,但如果我要創建一個新的.php或.html頁面並嘗試在線查看它,我會發送到404錯誤頁面。最初我以爲這必須處理.htaccess文件,但我在那裏找不到任何錯誤。如果我從要添加的頁面中採用相同的確切代碼並使用代碼覆蓋現有頁面,則它可以正常工作。以下是僅包含重寫的.htaccess文件的代碼。我想不出什麼可能阻止我查看我的新網頁。我欣賞幫助傢伙!404錯誤當文件存在時,新文件似乎被阻止

編輯:它似乎下面的htaccess文件是問題,當刪除時,一切正常,但我失去了我的重寫。任何人都可以提出一個更好的方法來完成htaccess中的重寫,允許沒有擴展名的衝浪嗎?例如。 website.com/home代替website.com/home.php

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|uploads|db|fonts|blogger|support|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 
+0

檢查看看如果您在其中一個PHP文件的某個地方擁有可接受頁面的白名單,是我的最佳猜測。 – junkfoodjunkie

+0

如果你在'.htaccess'文件中註釋掉這些行,行爲是否會改變? – Zak

+0

@Zak 如果我刪除.htaccess文件,一切工作正常。你能建議一種不同的方式來使我的重寫規則,使兩個工作?換句話說,htaccess文件的目的是讓網站/家庭而不是網站/ home.php 我怎麼還可以做到這一點,而不刪除htaccess。謝謝扎克。 –

回答

0

如果你想刪除.htaccess文件擴展名。這是我用:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
RewriteRule ^([^\.]+)$ $1.html [NC,L] 
RewriteRule ^([^\.]+)$ $1.htm [NC,L] 
+0

嘿,使用.htaccess規則時仍然存在一些問題。它看起來像文件正在使服務器查找網頁的根目錄(在此服務器上找不到所請求的URL /signup.php),而實際上它在application/views/signup.php中。看起來我的OP中的規則很重要,但同時也不可能在沒有404錯誤的情況下添加新頁面。你能否建議一種方法來調整我的規則以適應任何新的頁面?或者至少讓你的規則重定向到/ application/views /?非常感激。 –