问题描述
我已经对这个问题进行了广泛的搜索,但没有找到解决方案。我在本地工作,所以我有这个网址:
http://localhost/IASON/iasongitlab/static_website/html/solutions.html
我设法隐藏了文件扩展名,所以现在我的 URL 是这样的:
http://localhost/IASON/iasongitlab/static_website/html/solutions
但现在我需要从我的 URL 中隐藏 /html/ 文件夹,使其看起来像这样:
http://localhost/IASON/iasongitlab/static_website/solutions
这只是一个例子。我有多个视图,所以我需要在 htaccess 中编码以隐藏每个视图上的 /html/ 文件夹。
这是我的 htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.PHP -f
RewriteRule ^(.*)$ $1.PHP [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
我尝试了多种建议但都没有成功,如果您有任何解决此问题的见解,我将不胜感激。
解决方法
根据您展示的样品,您可以尝试以下操作吗?在测试您的网址之前,请确保您清除浏览器缓存。
RewriteEngine ON
RewriteRule ^(IASON/iasongitlab/static_website)/(solutions)/?$ $1/html/$2.html [NC,L]
或者,如果您不想对路径详细信息进行硬编码并最终在 uri 中查找 solutions
,那么您可以尝试以下操作。确保您一次只能遵循或高于规则。
RewriteEngine ON
RewriteRule ^(.*)/(solutions)/?$ $1/html/$2.html [NC,L]