具体的php5 mod_rewrite规则来处理用户输入的短网址服务器端?

时间:2011-08-01 14:41:27

标签: php apache mod-rewrite

我在这里浏览了大量的答案,但找不到一个足以模仿我的需求的答案。我不打算创建一个缩短的URL,我正在寻找一种方法让服务器检测缩短的URL的格式,展开它并正常显示页面(当然,不会改变缩短的URL的外观)实际的浏览器URL栏)。这就是我想要做的......

我有以下网址结构:

http://www.mysite.com/members.php?user_name

我希望用户使用缩短的网址访问这些动态网页。他们应该能够通过输入以下内容来访问同一页面:

http://www.mysite.com/users/user_name

..并且mod_rewrite规则会知道将其解析为上面的完整URL。有什么想法会写这个吗?请注意,参数未传递值。

PS:不要乱用任何应用程序代码或参数,只是寻找一个简单的读取短URL和隐蔽服务器端的规则,如果可能的话。谢谢!

1 个答案:

答案 0 :(得分:1)

尝试类似

的内容
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/users/(.*) /members.php?$1 [l]

这假设任何未映射到现有目录或文件的URL都应被视为user_name。

编辑:更改了规则以匹配更新的问题。你应该真正阅读mod_rewrite documentation。此外,根据更新的网址,可能不需要两个RewriteCond