删除 htaccess 中的子文件夹 URL


Remove sub folder url in htaccess

我已经正确地从 url 中删除我的子文件夹,但它使我的其他根子文件夹无法拾取。

例如...

www.blah.com/templates/index.html 现在 www.blah.com/index.php

但是我的 www.blah.com/systemfiles/signin.php 给出了一个错误

我也有 www.blah.com/systemfile/signin.php。我无法访问其他子文件夹。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/templates 
RewriteRule ^(.*)$ templates/$1 [L]

您添加的四行说:

  1. 关注符号链接
  2. 开始工程
  3. 如果不是,则/templates 在 URL 中
  4. 将 URL 视为已添加 /模板

这就是为什么它不适合你。这个策略有点奇怪...但是要使其与您的示例一起使用,您应该检查 url 是否指向文件或文件夹。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/templates 
RewriteRule ^(.*)$ templates/$1 [L]