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

htaccess重定向到文件夹

  •  0
  • Glycerine  · 技术社区  · 14 年前

    我不知道标题应该是什么,但它的简单概念,但我对.htaccess重写毫无用处。

    我目前有:

    RewriteRule ^([a-zA-z0-9_-]+)/?$ index.php?page=$1
    

    它会很高兴地将所有请求发送到我的索引,我可以做我想做的。

    我有:

    RewriteRule ^events/([a-zA-Z0-9-./]+)/?$ index.php?page=events/index&id=$1
    

    为了更多的中间物……

    但我想说

    如果url为“/mycms/…”则将use发送到%http/cms并留在那里…

    有人能帮忙吗?我的“一网打尽”规则总是把它弄脏。


    编辑 我做这个很好

    RewriteRule ^mycms([a-zA-Z0-9-./]+)?$ /cms$1 [L]
    
    RewriteCond %{REQUEST_URI} !^/cms 
    RewriteRule ^([a-zA-z0-9_-]+)/?$ index.php?page=$1
    

    现在我写 http://localhost/mycms 将前往 http://localhost/cms

    不过,我还是想屏蔽“/cms/”文件夹…奥欧

    1 回复  |  直到 14 年前
        1
  •  1
  •   Peter O'Callaghan    14 年前

    您只需要在“全部捕获”之前放置一个重写,并使用L标志防止它再次被重写,这样的事情就足够了。

    RewriteRule ^events/([a-zA-Z0-9-./]+)/?$ index.php?page=events/index&id=$1 [L]
    RewriteRule ^([a-zA-z0-9_-]+)/?$ index.php?page=$1