2014-07-20 69 views
1

我环顾四周寻找答案,但我找不到适合我的东西。删除尾部的斜线

我有这样的:

RewriteRule ^(.*)/?$ example.php?option=$1 [L] 

我想是这样的:

http://example.com/foo/bar/ > http://example.com/example.php?option=foo/bar 
http://example.com/foo/bar > http://example.com/example.php?option=foo/bar 

但正在发生的事情是这样的:

http://example.com/foo/bar/ > http://example.com/example.php?option=foo/bar/ 
http://example.com/foo/bar > http://example.com/example.php?option=foo/bar 

所以,当有一个结尾斜杠,它将它添加到它发送给PHP文件的选项中,但我不希望它将其删除。有任何想法吗?

+0

[This answer](http://stackoverflow.com/a/8744956/3770448)可能是有趣的。 – ljacqu

+0

@ljacqu没有。由于我的网站的性质,我不能做重定向或它会循环。但我确实找到了一种在PHP文件中工作的方法。 –

回答

0

我实际上找到了一种方法来完成这件事!在使用example.php我加了这一点:

$option = $_GET['option']; 
$option = rtrim($option, '/'); 

这将删除选项字符串所有尾随斜杠,但它不会在中途取出斜线。正是我需要的。

如果有人在RewriteRule中找到了一种方法,请发布,因为如果有人需要在非php上下文中执行此操作,它可能会很有用。