.htaccess SEO URL 重写问题与 URL 结束



我有一个博客页面,我希望我的网址像 www.example.com/blogs/something-new/17 所以我在下面写了几行到.htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule  ^(.*)/$ $1.php
#SEO URL
RewriteRule ^blog/([0-9a-zA-Z-_]+)/([0-9a-zA-Z-_]+) blog-details.php?blogs_slug=$1&blogs_id=$2 [L,QSA]

现在,当我进入 example.com/blog/something-new/19 一切都很好,但我可以继续写

example.com/blog/something-new/19/asdasfdsfas/asdasdsad

它仍然显示页面,那么我怎么能告诉 .htaccess 不再接受任何参数呢?

$ 表示正则表达式测试字符串的结尾。将 $ 添加到规则,更改了行:

#SEO URL
RewriteRule ^blog/([0-9a-zA-Z-_]+)/([0-9a-zA-Z-_]+)$ blog-details.php?blogs_slug=$1&blogs_id=$2 [L,QSA]

然后这个地址不匹配:example.com/blog/something-new/19/asdasfdsfas/asdasdsad 但 example.com/blog/something-new/19 匹配并且工作正常。

最新更新