2017-06-30 88 views
0

這工作正常,在localhost: 而是由其他的我託管的網站(由Hostinger.fr)htaccess的在MVC架構託管網站

RewriteBase/
RewriteEngine On 
RewriteCond expr "%{REQUEST_URI} -strmatch '*admin/*'" 
RewriteRule (.*) $1 [L] 
RewriteCond expr "%{REQUEST_URI} -strmatch '*journal/*'" 
RewriteRule (.*) $1 [L] 
RewriteRule (.*) webroot/$1 [L] 

這些線路不能正常工作遵循(處理後) htaccess的走向Web根目錄目錄:

RewriteBase/
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) index.php/$1 [L] 

它使用如的index.php在根目錄目錄存在但不顯示內部頁給我看第一頁。 我使用MVC結構來編碼站點,並且調用的程序沒有直接指示 通過單擊index.php頁面顯示的菜單中的選項,它僅向我顯示一個空白頁面,其中顯示消息「No input file specified。 「 沒有調用webroot index.php(像在第一次),繼續開發真正的程序來調用。

任何人都可以好心地建議我在.htaccess中需要做什麼?

NB:Hostinger希望這樣「改寫基地/」命令必須放置在

回答

0

我沒有時間來測試你的htaccess首位,但也有一些事情你可以嘗試:

  1. 確保您的文件權限是正確的。對於大多數主機提供商,htaccess(和所有其他文件)必須具有644個權限才能工作

  2. 檢查Apache的重寫模塊是否已安裝並激活。一般情況下,默認情況下,主機提供商會啓用此功能,但也許某些提供商會要求您手動激活其控制面板上的模塊。

  3. 檢查文件系統目錄樹並確保沒有其他任何htaccess文件可能覆蓋您的htaccess

例如行爲的父目錄,如果你有/home/your_user/public_html/.htaccess文件和/home/your_user/public_html/my_sub_app/.htaccess一個文件,然後如果第一個htaccess具有類似的指令:

<Directory> 
    Order Deny,Allow 
    Deny from all 
</Directory> 

它會阻止第二次htaccess覆蓋行爲

+0

謝謝你的研究線索,但 我已經驗證了他們,Hostinger的一切都很好。 建議用於htaccess文件第一行的命令只會導致錯誤500 –