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

用于获取主机名之前的所有内容的htaccess rewriterule

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

    我希望htaccess重写规则获取主机名之后的所有内容,并将其用作参数。例如,我想要 http://example.com/one 由……处理 http://example.com/category.php?cat=one

    我觉得应该很简单,但我找不到组合。 谢谢

    2 回复  |  直到 14 年前
        1
  •  1
  •   Eric    14 年前

    这就是我想到的:

    RewriteRule ^/?([^\./]*)[:;,\.]*$ category.php?cat=$1 [L,NS]
    

    有人看到任何改善它的方法吗?

        2
  •  0
  •   Tim Stone    14 年前

    尝试如下操作:

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ category.php?cat=$0 [B]
    

    如果要同时传递查询字符串,请确保更改 B 旗到 B,QSA ,但请注意,然后有人可以传递get参数 cat ,这将覆盖在重写中设置的内容。如果你需要的话,对这种情况有一些解决办法,但是如果你不需要的话,那就应该为你做。