Mod rewrite 使用htaccess创建SEO友好的URL

Mod rewrite 使用htaccess创建SEO友好的URL,mod-rewrite,Mod Rewrite,当我更改链接时,它会显示一个错误页面。也许我的网站有问题,你怎么看? 我的网站上有一个url:www.mywebsite.com/picture.php?1 我想把它改成这样:www.mywebsite.com/picture/1 这是我的.htaccess RewriteEngine on rewritecond %{http_host} ^website.com [nc] rewriterule ^(.*)$ http://www.mywebsite.com/$1 [r=301,nc] R

当我更改链接时,它会显示一个错误页面。也许我的网站有问题,你怎么看? 我的网站上有一个url:www.mywebsite.com/picture.php?1 我想把它改成这样:www.mywebsite.com/picture/1

这是我的.htaccess

RewriteEngine on
rewritecond %{http_host} ^website.com [nc]
rewriterule ^(.*)$ http://www.mywebsite.com/$1 [r=301,nc]

RewriteRule ^contact\/?$ contact.php [L]
RewriteRule ^terms\/?$ terms.php [L]

**RewriteRule ^picture/(.*)/$ picture.php?$1 [L]**
请帮忙, 我不知道问题出在哪里。

尝试添加

<base href="www.mywebsite.com" />

假设htaccess的第一部分工作正常,则将最后一行替换为以下内容:

   RewriteRule ^picture/(.*)$ /picture.php?$1 [NC]

@YarikSkovorodko,尝试使用我刚刚编辑到我的帖子中的重写规则。它现在正在执行内部服务器错误。如果你从下面发表评论,它如何知道ID等于什么?当然,在你的URL中应该是
www.mywebsite.com/picture.php?id=1
也不只是
…php?1
,现在它给了我一个脚本错误。下面是我脚本中的一段代码:mysql_query(“SELECT*from database WHERE id=$id”)或die(“Picture不存在”)。看起来它无法从我的数据库中检索“id”。
RewriteRule^Picture/(.*)$/Picture.php?id=$1[NC]
和add
$id=$\u GET['id']在mysql语句上方
   RewriteRule ^picture/(.*)$ /picture.php?$1 [NC]