2010-01-10 55 views
3

我该如何制定这条规则,以便您可以使用或不使用斜线来访问它?有无斜线

RewriteRule ^members/([^/]+)$ members.php?id=$1 [L] 

回答

11
RewriteRule ^members/([^/]+)/?$ members.php?id=$1 [L] 

刚添加“/?”最后要说的是寻找一个尾随的斜线,但是?说它不必在那里。

2

我不知道任何有关这个“mod-rewrite”你说话(也许Apache模块?),但肯定看起来像一个regex,我知道这些。 :-)

试试这个:

RewriteRule ^members/([^/]+)(/|)$ members.php?id=$1 [L] 

因此,要打破成片的^手段 “开始”, “members/” 的意思正是匹配,([^/]+)表示“1个或多个字符AREN '斜线,分配为$1“,(/|)表示”斜杠或空字符串,分配给$2“,末尾的$部分表示”字符串必须在此结束“。

0

我只需要提取域名,所以我用这个:

^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$ 

在我的电子表格,它看起来像这样:

=REGEXEXTRACT(CELL_WITH_URL,"^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$") 

希望,节省了某人一段时间!快乐的REGEXing!