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

使用mod重写创建一个restful url格式

  •  1
  • Centurion  · 技术社区  · 15 年前

    我有网页 http://mydomain.com/form.php?id=123 , 我需要为旧功能保留此格式,并实现新功能,以便用户可以像这样访问此页 http://mydomain.com/123 .

    1. 所以客户会看到这个 http://mydomain.com/123 .
    2. 服务器将理解为旧版本 http://mydomain.com/form.php?ID=123 .

    所以这样我就不必更改旧的功能。 我知道这可以通过htaccess规则实现。但不知道怎么做。 请帮忙。谢谢。

    1 回复  |  直到 13 年前
        1
  •  4
  •   Daniel Vandersluis    15 年前

    这个应该可以帮你处理

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ form.php?q=$1 [L,QSA]
    

    !-f 排除已经存在的任何文件(因此直接点击/form.php不会被重写)。 !-d 排除任何存在的目录(因此,如果 /123/ 在您的站点上,它不会被重写),否则会将其他一切重定向到form.php脚本。

    如果您只想重定向纯数字的URL,那么mhitza上面的注释就是您想要的。

    推荐文章