让我们看看我是否能很好地解释情况。我有一个单页网站,所有内容都在屏幕上,但被隐藏了。如果,钉,你去domain.com/product/about我会采取第一部分去 div-column "product" 和 div-row "about",有一些 Javascript 和 CSS 定位。
问题:我需要我的 .htaccess 将所有URL(index.html ofc 除外)重写为 index.html(或我们设置的任何 URL)。
问题内部的问题:此网页位于子目录中,并且它可能 - 可能 - 位于二级子目录(即(root)/folder/subfolder/thisweb)中。让我们看看最后一种情况,所以上升比下降更容易。
我有的:
RewriteEngine on
Options +FollowSymLinks
RewriteBase /folder/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_URI} !^index.html
RewriteRule .* /index.html [L]
怎么了:
- domain.com/subfolder/foo:重定向到 domain.com/folder/subfolder/
- domain.com/subfolder/foo/:在此服务器上找不到请求的 URL /er1csports/test/foo/。
玩弄其他规则,有时我被重定向到父文件夹 index.html。就像 RewriteRule 根本不起作用一样 - JFYI。
我需要的:
- 正如我所说,将所有内容重写为 index.html,而不更改地址栏中的 URL - URL 的子级别无关紧要(foo/foo2/foo3也应该重写为 index.html)。
- 图像、CSS、Javascript 和一般资源,如果它们不受 URL 和引用的影响,那就太好了。
- 无论 URL 是什么,“文件夹”都不应出现在 URL 地址栏中。如果可以告诉我如何隐藏“子文件夹”,如果两种情况下应用的规则不同,那也很棒。
我知道,很多事情。但是我讨厌 .htaccess 并且我已经搜索和搞砸了几个小时,但我一直无法找到它。
我会继续搜索和尝试,但是当有办法只写 10 行并保持干净时,我不想要写 100 行。
非常感谢您的帮助和时间!