2011-03-21 68 views
0

我需要一些关于.htaccess的重写规则以及一些正则表达式的帮助。Htaccess mod_rewrite的条件和参数

我alredy在htaccess中有一些重写规则的定义,所以如果我打电话的HTML文件,它被执行为PHP。

所有我现在需要的是,如果我在浏览器中打开一样?

http://mydomain.com/some-string/12345.html

调用文件article.php ID =

(id值只能是整数)12345

如果你能帮助他如何实现这个...

谢谢你提前!

回答

1

基于@Michiel答案:

RewriteEngine On 

RewriteRule ^([a-z\-]+)\/([0-9]*)\.html$ article.php?id=$2 [NC,L] 

这将赶上(小写字母和连字符)/(编号)。 html和重定向到article.php?id =数字。即现在将赶上汽车/ 13.html,男装短裤/ 27.html等

+1

tnx,你在哪里非常接近我需要的解决方案:RewriteRule ^([az \ - ] +)\ /([0-9] *)\。html $ article.php \/$ 2 [NC,L]您! – user198003 2011-03-21 10:51:25

+0

你说得对,我已经更新了我的答案 – 2011-03-21 10:56:49

2

您可以通过下面的代码实现的是:

RewriteEngine On 

RewriteRule ^some-string\/([0-9]*)\.html$ article.php?id=$1 
+0

tnx,但“一些字符串”是可以改变的...它可以是“汽车”,“音频”,“球员“,”门“等... – user198003 2011-03-21 10:16:04

+0

我倾向于将[NC,L]标志添加到我的规则末尾,以便htaccess文件停止查找其他规则。 @Michiel需要在HTML扩展(\ .html) – 2011-03-21 10:17:58

+0

@ user198003之前放置一个转义:如果它是汽车,你可以用'car'替换'some-string'。如果它可以是任何东西,你可能想把它改成'。*'。 – 2011-03-21 10:18:56