2011-08-30 123 views
1

我使用Wamp的URL重写,但是我没有找到正确的正则表达式来满足我的需求。Url重写的正则表达式php

我想将http://localhost/site_artisans/site_artisans/peintre-annecy.php转换为http://localhost/site_artisans/site_artisanspeintre-annecy.php(删除site_artisans/site_artisans之间的斜线,以及之后的任何内容)。

我想到:

RewriteEngine on 
RewriteRule .*site_artisans/site_artisans/.* site_artisans/site_artisans [L] 

(字符数未知前后和斜线删除)。

但这不起作用。

+0

您能准确告诉我们您想要的网址吗?这在你的问题中不是很明显。 – Flukey

+0

我想要将url http://localhost/site_artisans/site_artisans/peintre-annecy.php转换为http://localhost/site_artisans/site_artisanspeintre-annecy.php – Bruno

回答

1

尝试

RewriteEngine on 
RewriteRule .*site_artisans/site_artisans/(.*) site_artisans/site_artisans$1 [L] 

我测试http://martinmelin.se/rewrite-rule-tester/,我相信结果是你想要的。

+0

@Bruno这个规则正是你所需要的。我的规则有一个错误 –

0

试试这个:

RewriteEngine on 
RewriteRule .*site_artisans/(site_artisans/.*) site_artisans/$1 [L] 
+0

并阅读本节中的手册http://httpd.apache .org/docs/current/mod/mod_rewrite.html#rewriterule –

+0

感谢您的回答,但它不起作用。 – Bruno

+0

你在你的.htaccess文件中使用RewriteBase指令吗? –