php - URL RewriteRule .htaccess 以获得更 SEO 友好的形状

标签 php apache .htaccess url-rewriting seo

我有这样的网址 book.php?id=23 product.php?id=23 等等。 我希望它们像

book/id/title 

我当前的.htaccess 是这个

RewriteEngine On
RewriteRule ^book/([0-9]+)\-([a-z0-9_\-]+)/?$ book.php?id=$1 [NC,L,QSA]

但它不能正常工作, 尽管页面存在问题,它仍指向 book.php 页面,我无法使用 $_GET 获取 Id 参数,感谢任何帮助 这是我的网址 http://www.gamzesart.com/book.php?id=2

最佳答案

实际上我前一周遇到了这个问题,原来是因为 url 引用与我调用的 php 文件的名称相同,即:

RewriteRule ^book/([0-9]+)/([^/]+)/?$ book.php?id=$1 [NC,L,QSA]

作为测试,将您的规则更改为:

RewriteRule ^books/([0-9]+)/([^/]+)/?$ book.php?id=$1 [NC,L,QSA]

并尝试将 URL 改为 books/23。

关于php - URL RewriteRule .htaccess 以获得更 SEO 友好的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20654092/

相关文章:

php - &lt;!--[if lte IE8]>< ![endif]--> 出现在网站和下拉问题上

php - PHP MySQL 的 session 超时问题

php - 从表行中获取数据并将其传递给表单

apache - var/www/html 的正确所有者

php - 如何配置 apache web 服务器部署 laravel 5

ruby-on-rails - 在给定 URL 的情况下,替代 Apache 中的 X-sendfile 发送文件?

javascript - jQuery 链接在 WordPress function.php 中不起作用

php - 这是 WordPress 中的 .htaccess 代码。有人可以解释它是如何工作的吗?

windows - 用于我的脚本的通用 mod-rewrite htaccess 文件

.htaccess - htaccess ErrorDocument 404 与 RewriteEngine On 冲突