在my。htaccess
中有如下代码 Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([wd~%.:_-]+)$ category.php?id=$1 [NC]
改变url: www.domain.com/category.php?id=uncategorized
www.domain.com/uncategorized但是,当我以斜杠结尾转到http://www.domain.com/uncategorized/时,它说该页面不存在。有人知道我如何使它,使新的URL将工作,不管它是否以斜杠结束,以及其他类似的东西吗?
这会将不带斜杠的url重定向到带斜杠的url。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]
您可以将尾斜杠设置为可选并添加QSA
标志:
Options +FollowSymlinks
RewriteEngine on
# add a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} s/+(.*?)[^/][?s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([wd~%.:-]+)/?$ category.php?id=$1 [L,QSA]