php - .htaccess seo url rewrite问题与url end
问题描述
我有一个博客页面,我希望我的网址像 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 匹配并且工作正常。
推荐阅读
- apache-kafka - 如何使用“MQTT 协议与 Kafka 作为代理”?
- mysql - 为什么mysql workbench 8.0会因为不关闭if而抛出错误,尽管所有“if”都已正确关闭?
- javascript - 是否可以在 html 文件中动态加载来自 js 文件的图像?
- prolog - labeling/2 如何从域的中点生成解决方案?
- c# - ASP.NET Web api 上的文件上传端点损坏文件
- php - 发布方法在不同的服务器中无法正常工作
- javascript - 为什么我无法访问使用 Node.js/Express-TypeScript 的 SSL 证书?
- php - laravel 5.2 图像无法加载
- aws-lambda - 如何存储来自 Amazon Lex 的用户输入(话语)?
- html - 由于图像,Chrome中的Angular Firebase滚动问题