0

让我们看看我是否能很好地解释情况。我有一个单页网站,所有内容都在屏幕上,但被隐藏了。如果,钉,你去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 行。

非常感谢您的帮助和时间!

4

1 回答 1

0

尝试在 .htaccess 中使用此代码:

Options +FollowSymLinks -MultiViews

RewriteEngine on
RewriteBase /folder/subfolder/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule . index.html [L]
于 2013-08-01T18:17:44.477 回答