2017-04-06 25 views
1

嘿,我試圖鏈接到一個子目錄,並在該目錄加載index.php,但它返回404未找到錯誤。文件結構是這樣的:在子目錄中查找index.php的URL 404s(.htaccess)

| index.php 
| .htaccess 
| subfolder 
    | index.php 
    | about.php 

當我去mysite.com/subfolder,我要的index.php那裏加載。我知道問題出在我的.htaccess文件上,因爲當我刪除它時,URL會起作用。這是在.htaccess代碼:

Options +MultiViews 

# Remove file extensions from page names 

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

# Disable Index Listing 
Options -Indexes 

我的猜測是,因爲我刪除的文件擴展名,服務器正在尋找mysite/subfolder.php並不能找到它,所以它404。但是,我對.htaccess文件還不熟悉,而且他們對我仍然非常神祕。在線搜索有很多代碼,但沒有解釋如何工作。關於如何解決這個問題的任何想法以及爲什麼修復工程將會有所幫助!

回答

1

如果您啓用MultiViews選項,那麼您不需要重寫規則來處理擴展。

只要保持這些線在你的.htaccess:

Options +MultiViews 
DirectorySlash On 

DirectoryIndex index.php 

,並刪除一切。然後用mysite.com/subfolder/進行測試URL

相關問題