.htaccess seo url重写,URL结尾

时间:2019-07-20 04:14:13

标签: php .htaccess

我有一个博客页面,我希望自己的网址像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不要接受更多的参数呢?

1 个答案:

答案 0 :(得分:0)

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

#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匹配并可以正常工作。