现在我使用.htaccess文件隐藏页面扩展名。但是当存在相同的文件夹名称时,我遇到问题。 就像我有一个名称是about.html的页面所以在url中它被称为http://sitename.com/about
但是还有一个名字的文件夹。所以在这种情况下浏览器显示文件夹不是about.html。
任何人都可以帮我解决这个问题。
我在.htaccess文件中使用此代码
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.html [NC,L]
答案 0 :(得分:0)
你需要关闭目录斜杠以重写你的文件:
DirectorySlash off
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]
关闭目录斜杠将允许您访问
目录/ about /带有斜杠。和
/ about没有尾部斜杠将被重写为/about.html
答案 1 :(得分:0)
我找到解决方案。现在我正在使用此代码
RewriteCond%{SCRIPT_FILENAME}!-d
RewriteRule ^([^。] +)$ $ 1.html [NC,L]
RewriteCond%{SCRIPT_FILENAME} -d
RewriteRule ^([^。] +)$ index.html [NC,L]