2015-06-27 105 views
1

的文件夾,我有一個鏈接在我的網站htaccess的刪除文件擴展名,並允許同名

x.icebreaker.com/products

和目錄中的文件

x.icebreaker.com/products/bow

我有以下的.htaccess文件,以允許在瀏覽器中移除文件擴展名的,但我不能讓頁面顯示出來,而有相同名稱的文件夾(默認爲打開文件夾

x.icebreaker.com/products/

我該如何解決這個問題?

ErrorDocument 404 /404.php 
ErrorDocument 403 /403.php 

# Disable directory browsing 
Options All -Indexes 

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)/?$ $1.php 

如果還不清楚的問題不是如何讓頁面載入x.icebreaker.com/products它是如何得到它加載x.icebreaker.com/products/

回答

2

你需要禁用MultiViews選項也:

Options All -Indexes -MultiViews 

選項MultiViews使用Apache's content negotiation module運行之前mod_rewrite並使Apache服務器匹配文件的擴展名。所以/file可以在URL中,但它將服務/file.php

而且這個規則取代你.php添加規則:

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [L] 
+0

我遇到的問題是,當我嘗試加載'x.icebreaker.com/products'它會嘗試加載'x.icebreaker。 com/products/index',當文件夾'products'不存在時,根目錄下的文件'products.php'確實會加載(只是當foder不存在時) – Jdoonan

+0

在清除瀏覽器緩存並用尾部進行測試後進行測試斜槓即'x.icebreaker.com/products /' – anubhava

+0

我清除了緩存,然後試着用和不用斜線,最後用斜線結尾,出現403錯誤 – Jdoonan

相關問題