2010-08-18 83 views
1

我有一个网页http://mydomain.com/form.php?id=123, 我需要保持这种格式的旧功能,并实现一种新功能,以便用户可以像这样访问此页面http://mydomain.com/123使用mod_rewrite创建一个RESTful URL格式

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

所以这种方式我不必改变旧的功能。 我知道这可以通过HTaccess规则来完成。但不知道如何。 请帮忙。谢谢。

+1

'RewriteRule^/([0-9] +)+ form.php?id = $ 1' – mhitza 2010-08-18 19:47:01

+0

这与[此问题]类似(http://stackoverflow.com/questions/3508171/redirect-mydomain- com-user-to-mydomain-com-name-phpiduser) – 2010-08-18 19:48:53

+0

是的,我没有找到当我问。 – Centurion 2010-08-18 19:53:11

回答

4

这也许应该为您处理

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

!-f排除已经存在(这样打/form.php直接不会得到重写)的任何文件,!-d排除其中存在的任何目录(所以如果你有一个真实的/123/在您的网站上它不会被重写),否则将其他所有内容重定向到您的form.php脚本。

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