2016-04-26 39 views
1

正如標題所說,我試圖從URL中刪除所有php文件擴展名,並向URL添加尾部斜槓。.htaccess刪除文件擴展名,強制結尾斜槓,並允許具有相同名稱的文件夾作爲文件

http://website.com/link.php

應該

http://website.com/link/

而且,如果有相同名稱(/鏈接)的文件夾,該文件(link.php)應該被優先顯示。

我當前的代碼如下:

RewriteEngine On 
# Manually re-route portfolio/ requests to portfolio 
RewriteCond %{REQUEST_FILENAME} marknadsnytt/$ 
RewriteRule ^(.*)/$ $1 

# Hide extension 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

任何想法?

回答

0

需要去除.php和添加斜線單獨的重定向規則:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC] 
RewriteRule^/%1/ [R=302,L] 

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

謝謝,但沒有用的文件夾VS解決問題。如果有一個文件名(沒有擴展名)與文件名相同,我想打開文件,而不是文件夾。所以,/ link應該去/link.php,但沒有php擴展名。如果我們轉到/ link/file,我們應該在文件夾中打開文件等。 –

+0

假設有'link.php'存在時訪問'/ link'時,這段代碼發生了什麼? – anubhava

+0

我得到403禁止 –

相關問題