正如我以前的问题可能已经告诉你,我不是很好modrewrite。我试图搜索并为这个特定问题空洞起来。我希望有人能帮助我解决这个问题。冲突Modrewrite规则
我使用modrewrite作为短URL生成器的一部分,直接访问唯一ID会将它们转发到目标。添加/ v到结束将允许一个门户网站页面,将显示它们被转发到的URL(如预览页面)
因为/ v后面的ID,它工作得很好,但我想允许通过新增网页$ _GET
这是给予用户的快捷链接;
javascript:void(location.href='http://www.website.com/n/?url='+location.href)
这是htaccess的
RewriteEngine On
RewriteRule ^n actions.php?do=new [NS,L,NC]
RewriteRule ^([a-zA-Z0-9]+)$ actions.php?id=$1 [NC]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ actions.php?id=$1&do=$2 [NC]
的内容的问题: 因为/N是代替ID,它显然冲突。我已经尝试过NS和L,因为它们能够在规则匹配后停止执行。经过进一步检查,他们当然没有按照我的意愿工作。
最后,这里是一些如何在最终产品中寻找URL的例子;
New Submission:
http://www.web.com/n/?url=http://www.google.com [Outputs new URL as 12345]
Visit the ID directly:
http://www.web.com/1A2b34D5 [Forwards to URL Destination]
Visit the ID Preview Link:
http://www.web.com/1A2b34D5/v [Displays preview, Delayed Forwarder]
提供将包括在混合品种下限,上限和数字值的字符串。这只是一个例子,目前确实有效。我对此模糊不清,并会相应调整。 – Tarquin 2013-03-25 02:20:07
解答已更新! – tttony 2013-03-25 02:35:17
非常感谢,但问题依然存在,它认为/ n是需要重定向的URL。示例(离线数据库)www.agn.im/n/?url=http://www.google.com/ – Tarquin 2013-03-25 03:34:22