这是我的.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
有什么想法吗?
答案 0 :(得分:6)
。*是贪婪的,所以它会吃掉你的尾随斜线,即使它没有。你必须强迫它远离这样:
RewriteRule ^(\d*)/(.*[^/])/?$ /page.php?id=$1&slug=$2
这确保$ 2永远不会以斜杠结尾