所以,我对PHP有点新意,并且想知道是否有人可以在我遇到的问题上给我一个简单但深入的答案..
让我们举个像这样的论坛。当用户创建新线程时,网站如何创建新页面(他们的线程)?通常,URL最终看起来像http://www.(sitename).com/forum/77375< - 我假设的帖子ID。我怎么做这样的事情?
我有一个网站,要求用户提交文章,目前我已将其设置为将文章信息发送到数据库。现在我需要创建一个新页面,其中包含一个带有文章的唯一URL。
我正在使用PHP和MySqli - 非常感谢帮助:)
答案 0 :(得分:1)
当你看到像这样的SEO友好网址时,该网站不是(或者至少不应该)制作具有该帖子ID的实际文件。该网站正在重写网址。基本上它会使用http://www.sitename.com/forum
这样的网址,无论之后发生什么,总是加载相同的文件(让我们说它被称为forum.php
。然后它会占用网址的其余部分,并将其更改为查询字符串。
所以它基本上会重写:
http://www.sitename.com/forum/123456
是:
http://www.sitename.com/forum.php?thread_id=123456
然后,forum.php文件可以从查询字符串中获取数据,并知道如何为123456
这是一篇包含更多信息的帖子: URL rewriting with PHP
答案 1 :(得分:0)
RewriteEngine on
# Not for real file or directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# for category-1/ and all like xxxxx-xxx-nnn
RewriteRule ^([^/]+-\d+)/?$ /index.php?page=category&category_name=$1 [L]
# for contact/ or about/ or other/
RewriteRule ^([^/]+)/$ /index.php?page=$1 [L]
所以你可以得到如下所示的内容:
http://www.example.com/index.php?page=Movie&movie_name=anyMovie - > http://www.example.com/anyMovie/