Mod rewrite apache mod_从/a/b/c重写为/a.php?arg1=b&;arg2=c

Mod rewrite apache mod_从/a/b/c重写为/a.php?arg1=b&;arg2=c,mod-rewrite,apache2,Mod Rewrite,Apache2,我想重写一下。在阅读了URL重写指南之后,我仍然有点困惑。 我想把/blog/123改成/blog.php?blog=123,但我不明白为什么它不起作用。我知道mod_rewrite正在进行。我的.htaccess文件是: RewriteEngine ON RewriteRule ^/blog/([^/]+)/?$ /blog.php?blog=$1 任何帮助都将不胜感激 我找到了解决问题的办法。我太难了 RewriteCond /blog/%{REQUEST_FILENAME} !-d R

我想重写一下。在阅读了URL重写指南之后,我仍然有点困惑。 我想把/blog/123改成/blog.php?blog=123,但我不明白为什么它不起作用。我知道mod_rewrite正在进行。我的.htaccess文件是:

RewriteEngine ON
RewriteRule ^/blog/([^/]+)/?$  /blog.php?blog=$1

任何帮助都将不胜感激

我找到了解决问题的办法。我太难了

RewriteCond /blog/%{REQUEST_FILENAME} !-d
RewriteRule /blog/([0-9]+)$ /blog.php?blog=$1
我需要做的第一件事就是设定条件。%{REQUEST_FILENAME}-d变量表示在目录不存在时运行规则。然后它将一个数字匹配到字符串的末尾