2010-11-03 25 views
0

我使用mod_rewrite为干净的网址,但我只是有一个小问题。如何提高我在htaccess中的简单mod_rewrite?

特别是该生产线是:

RewriteRule ^events/(.*)$ fe_events.php?event_url=$1 

这工作。我可以去url.com/events/something_or_other,它按预期工作。但问题是,如果我只是去url.com/events它不起作用 - 我必须去url.com/events/(结尾有一个尾随的正斜杠)。

我可以简单地修改此行或做我需要添加另一条线路,如:

RewriteRule ^events$ fe_events.php 

感谢您的时间!

回答

1
RewriteRule ^events(/(.*))?$ e_events.php?event_url=$1 

这应该工作。

+0

这种作品... url.com/events按预期工作,但不是如果我尝试url.com/events/something没有正确发送该event_url – willdanceforfun 2010-11-03 23:49:56

+1

是的,因为它总是将其重写为e_events。 php?event_url = $ 1,它只是不能检查$ 1是否为空。你可以检查你的代码中的变量是否为空,或者只是使用你自己的解决方案,这很好。我相信你正在检查isset($ _ GET ['event_url']),所以检查它是否不是空的不应该是一个问题。 – 2010-11-03 23:52:01