我正在使用.htaccess mod_rewrite
来获取更好的网址。
以下是我的.htaccess文件的一部分,将/artist.php?id=123456
转换为/artist/123456
,将/artists.php?culture=arabic
转换为/artists/arabic
,然后移除.php:
RewriteRule ^artist/([0-9]+) artist.php?id=$1
RewriteRule ^artists/(.+) artists.php?culture=$1
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
它可以工作,但是如果我在/
末尾添加一个尾部斜杠/artist/arabic/
,则会抛出404错误。我怎样才能解决这个问题?简单地删除尾部斜杠可能会起作用,但我不知道如何做到这一点。我只是不希望用户不小心添加/
或其他东西,然后因为认为页面不存在而感到困惑。
提前致谢!
答案 0 :(得分:3)
您只需要使用/?
# Optional trailing slash...
RewriteRule ^artist/([0-9]+)/? artist.php?id=$1
#--------------------------^^^^
RewriteRule ^artists/(.+) artists.php?culture=$1
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]