URL 为初学者重写测试
URL rewriting test for beginners
我刚开始学习重写 urls,但在第一步时出错。
我目前的 url 是:
http://localhost/tutorials/blog.php?blogId=30
.htaccess
RewriteEngine On
RewriteRule ^blogs/([0-9]+)/?$ blog.php?blogId= [NC,L]
根据这段代码后的指导,我的 url 应该是这样的
http://localhost/tutorials/blogs/30/
但它仍然是一样的,所以我哪里出错了。 .htaccess
和 blog.php
都在同一个文件夹中。
您拥有的代码为您提供了另一种处理 URL 形式 http://localhost/tutorials/blogs/30/
的方法。它不会将较丑陋的 URL 格式化为 pretty/friendly。
使用以下方法实现:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /(.*blog)\.php\?blogId=(\d+) [NC]
RewriteRule ^ /%1s/%2/? [R=301,L,NC]
RewriteRule ^blogs/([0-9]+)/?$ blog.php?blogId= [NC,L]
URL 重写可能是提高网站可用性和搜索友好性的最好和最快的方法之一。它也可能是几乎无休止的苦难和苦难的根源。绝对值得仔细尝试 - 建议进行大量测试。能力越大,责任越大。
参考这篇文章https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/。
我刚开始学习重写 urls,但在第一步时出错。 我目前的 url 是:
http://localhost/tutorials/blog.php?blogId=30
.htaccess
RewriteEngine On
RewriteRule ^blogs/([0-9]+)/?$ blog.php?blogId= [NC,L]
根据这段代码后的指导,我的 url 应该是这样的
http://localhost/tutorials/blogs/30/
但它仍然是一样的,所以我哪里出错了。 .htaccess
和 blog.php
都在同一个文件夹中。
您拥有的代码为您提供了另一种处理 URL 形式 http://localhost/tutorials/blogs/30/
的方法。它不会将较丑陋的 URL 格式化为 pretty/friendly。
使用以下方法实现:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /(.*blog)\.php\?blogId=(\d+) [NC]
RewriteRule ^ /%1s/%2/? [R=301,L,NC]
RewriteRule ^blogs/([0-9]+)/?$ blog.php?blogId= [NC,L]
URL 重写可能是提高网站可用性和搜索友好性的最好和最快的方法之一。它也可能是几乎无休止的苦难和苦难的根源。绝对值得仔细尝试 - 建议进行大量测试。能力越大,责任越大。
参考这篇文章https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/。