.htaccess htaccess删除文件扩展名并允许同名文件夹

svgewumm  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(166)

我的网站上有一个链接
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/

rqmkfv5c

rqmkfv5c1#

您还需要禁用MultiViews选项:

Options All -Indexes -MultiViews

选项MultiViewsApache's content negotiation module使用,它在**mod_rewrite之前运行**,并使Apache服务器匹配文件的扩展名。因此/file可以在URL中,但它将服务于/file.php
同时将.php添加规则替换为以下规则:

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

相关问题