我在这里浏览了大量的答案,但找不到一个足以模仿我的需求的答案。我不打算创建一个缩短的URL,我正在寻找一种方法让服务器检测缩短的URL的格式,展开它并正常显示页面(当然,不会改变缩短的URL的外观)实际的浏览器URL栏)。这就是我想要做的......
我有以下网址结构:
http://www.mysite.com/members.php?user_name
我希望用户使用缩短的网址访问这些动态网页。他们应该能够通过输入以下内容来访问同一页面:
http://www.mysite.com/users/user_name
..并且mod_rewrite规则会知道将其解析为上面的完整URL。有什么想法会写这个吗?请注意,参数未传递值。
PS:不要乱用任何应用程序代码或参数,只是寻找一个简单的读取短URL和隐蔽服务器端的规则,如果可能的话。谢谢!
答案 0 :(得分:1)
尝试类似
的内容RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/users/(.*) /members.php?$1 [l]
这假设任何未映射到现有目录或文件的URL都应被视为user_name。
编辑:更改了规则以匹配更新的问题。你应该真正阅读mod_rewrite documentation。此外,根据更新的网址,可能不需要两个RewriteCond
。