Apache重写规则混淆

问题描述:

我想将一个简单的url(下面)转换为博客样式的url,但不太确定如何做到这一点,我所有的其他规则工作正常,但我不能似乎想出了这一个。Apache重写规则混淆

URL我想转换:http://www.website.com/myblog.php?id=1&title=My+blog+title

URL我想它来创建:http://www.website.com/1/my-blog-title

应该采取什么规则呢?

知道的任何帮助:)

试试这个

RewriteEngine on 
RewriteBase/
RewriteRule ([0-9]+)/([^.]+) myblog.php?id=$1&title=$2 
+0

嗨蜥蜴,进一步搞乱和调查后,我决定使用这一个,检查数值造成了差异。非常感谢! – Lee 2010-05-14 03:52:16

试试这个在您的.htaccess文件:

RewriteEngine on 
RewriteRule ^(\d+)/([^/]+)$ myblog.php?id=$1&title=$2 

但这里的连字符不被加号代替。

在.htaccess文件

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)$ /myblog.php?id=$1 [L] 

你不(以及不应该)需要将博客标题传递到博客文件,只有ID 。希望这个作品

+0

非常感谢你,这三个似乎工作。不知道为什么其他人不这样做,也许我解释这个要求的方式。但谢谢大家! – Lee 2010-05-13 16:13:47

+0

非常欢迎。虽然如果没有与bottoom二的一些试验和错误,我不能给出明确的答案,但很可能是缺少目标路径中的/,它建立了源于html docroot目录的路径。 一件快事,确保在传递给mySQL查询之前清理$ _GET ['id']。 – WhiskeyTangoFoxtrot 2010-05-13 16:18:25