首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess:类似Mediafire.com的urls

htaccess:类似Mediafire.com的urls
EN

Stack Overflow用户
提问于 2011-09-02 09:15:31
回答 2查看 181关注 0票数 2

我正在尝试想出一些mod_rewrite来将http://example.com/?7gudznrxdnu转换为http://example.com/view.php?id=7gudznrxdnu

但是任何其他页面都可以正常工作,比如http://example.com/contact等等。

EN

回答 2

Stack Overflow用户

发布于 2011-09-02 09:36:58

我认为这将会起作用:

代码语言:javascript
复制
RewriteEngine   On
RewriteCond   %{QUERY_STRING}     ^[a-z0-9]+$
RewriteRule   ^$                  view.php?id=%{QUERY_STRING}    [L]

如果您希望重写内容显示在浏览器的地址字段中,则必须用[L,R=301]替换[L]

解释:查询字符串(问号后面的内容)不是RewriteRule在其匹配模式中看到的网址的一部分,因此您不能在那里检查问号。在我的解决方案中,当且仅当(RewriteCond)查询字符串仅由a-z和/或0-9组成时,我才运行规则,并且我的规则只重写以斜杠结尾的URL(查询字符串除外)。我将它重定向到view.php?id=,然后将查询字符串附加到它后面。

Apache:在我的服务器上测试了,我还没有发现任何bug。

票数 2
EN

Stack Overflow用户

发布于 2011-09-02 09:37:07

您应该尝试(在您的.htaccess中):

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^\?([^/\.]+)?$ view.php?id=$1 [L]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7278342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档