代码之家  ›  专栏  ›  技术社区  ›  pinaki

.htaccess重定向到父级的规则

  •  2
  • pinaki  · 技术社区  · 7 年前

    我正在尝试使用将我的一个URL重定向到父文件夹 .htaccess 文件。我试过以下规则

    RewriteRule ^test/(.+)$ /test/ [L,R=301]
    

    从中找到 htaccess wildcard redirect to parent folder 但是它不工作(日志显示太多重定向)。

    我也试过下面的其他规则,但都不管用

    RewriteBase /
    RewriteCond %{REQUEST_URI} !=/test/
    RewriteRule ^(.*) /test/ [END,NC]
    

    RewriteEngine on
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^test/(.+)$ /test/ [L,R=301]
    

    操作系统是ubuntu服务器。任何帮助或指点都将不胜感激。请让我知道,如果我可以提供任何其他细节调试。谢谢

    3 回复  |  直到 7 年前
        1
  •  1
  •   mdeora    7 年前

    考虑到父目录是 test

    RewriteEngine On
    RewriteRule ^(test/).* /$1 [R=301,L]
    
        2
  •  1
  •   Croises    7 年前

    添加此项以禁用多视图:

    Options -MultiViews
    

    这个 Apache docs on mod_negotiation ,描述启用“多视图”选项时的功能:

    如果 服务器收到对/some/dir/foo的请求,而/some/dir/foo没有 然后服务器读取目录,查找所有名为 foo.*,并有效地伪造了一个类型映射来命名所有这些 文件,为它们分配相同的媒体类型和内容编码 如果客户点名要其中一个的话。那就这样吧 选择最符合客户要求的,并返回 文件。

    用途:

    Options -MultiViews
    RewriteEngine on
    RewriteRule ^test/(.+)$ /test/ [NC,L,R=301]
    
        3
  •  0
  •   Singham    7 年前

    在您的特定文件夹中

    RewriteEngine On
    RewriteRule ^rootFName(.*) /rFile.php  [QSA,R=301,L]
    
    推荐文章