Php mod_重写动态URL的问题

Php mod_重写动态URL的问题,php,apache,.htaccess,url,mod-rewrite,Php,Apache,.htaccess,Url,Mod Rewrite,我在我的域名上建立了自己的博客,为了显示文章,我使用动态URL在页面上显示文章内容 下面是它现在的外观示例: 现在我已经搜索了好几天的mod_重写方法,但我尝试的一切都失败了。服务提供商告诉我mod_rewrite已启用,我只需使用.htaccess文件访问它 我现在拥有的文件包含以下代码: RewriteEngine on RewriteRule ^artikel/([^/]+)/?$ artikel.php?id=$1 [L] 我想让url看起来像这样: 但到目前为止,我甚至无法获得第

我在我的域名上建立了自己的博客,为了显示文章,我使用动态URL在页面上显示文章内容

下面是它现在的外观示例:

现在我已经搜索了好几天的mod_重写方法,但我尝试的一切都失败了。服务提供商告诉我mod_rewrite已启用,我只需使用.htaccess文件访问它

我现在拥有的文件包含以下代码:

RewriteEngine on
RewriteRule ^artikel/([^/]+)/?$ artikel.php?id=$1 [L]
我想让url看起来像这样:

但到目前为止,我甚至无法获得第一个
“artikel/47/”

知道我做错了什么吗


谢谢

正则表达式应该如下所示:

^artikel/([0-9]+)/([\w-]*)$
这给了你:

RewriteEngine on
RewriteRule ^artikel/([0-9]+)/([\w-]*)$ artikel.php?id=$1 [L]
([0-9]+)
匹配一个或多个数字


([\w-]*)
匹配0个或多个单词字符和
-
,这意味着您可以在这里同时拥有文章的
artikel/47/
artikel/47/标题

,重点是我刚刚上传了这段新代码,当我打开blog.madetocreate.nl/artikel.php?id=47,该url不会显示为artikel/47/titel of post/。我完全不理解mod_rewrite还是什么?重写规则不会重定向您,它只是告诉apache将post的地址
artikel/47/titel解释为
artikel.php?id=47
。你应该看看这篇文章,解释这两个概念之间的区别: