2010-06-09 84 views
4

这里是我的.htaccess文件重写尾随斜线问题

Options +FollowSymlinks 
RewriteEngine on 
ErrorDocument 404 /404.php 

RewriteRule ^(\d*)/(.*) /page.php?id=$1&slug=$2 

这一切工作正常。但是当我输入site.com/342/my-page/(用斜线)时,我得到了一个404.

我需要尾部斜线作为可选项。即,它将重定向到正确的页面,无论是否使用斜杠。

我想这一点,但没有奏效

RewriteRule ^(\d*)/(.*)/?$ /page.php?id=$1&slug=$2 

任何想法?

回答

6

*是贪婪的,所以它会吃掉你的尾部斜线,即使它不必。你必须迫使它远离这样的:

RewriteRule ^(\d*)/(.*[^/])/?$ /page.php?id=$1&slug=$2 

这是确保$ 2从来没有以斜线结束

+3

((标志为正确答案)) – bobobobo 2010-12-22 22:58:13