2014-07-20 163 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上下文中執行此操作,它可能會很有用。