2012-02-16 73 views
-1

我试图让我的网址更适合搜索引擎优化,我坚持基础知识,但规则不起作用,我找不出原因。为什么我的重写规则不起作用?

这是URL,因为它现在是:

metro/metroreports.php?city=ny 

它必须看起来像这样:

metro/bug-reports-for-ny 

这是.htaccess文件:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^bug-reports-for-([0-9a-zA-Z]+) metroreports.php?city=$1 [NC,L] 

这一切看起来非常直接,但由于某种原因不起作用。任何人都可以在这里给我一只手吗?

+0

两个网址应正常工作,只需输入你的蚂蚁到浏览器中的一个。 – hakre 2012-02-16 11:05:04

+0

但重写的人不工作,这就是为什么我在这里:)当我在浏览器中输入metro/bug-reports-for-ny时,我得到了404。 – robert 2012-02-16 11:06:35

+0

你有一个名为'/ metro'的目录?和'.htaccess'文件位于何处? – 2012-02-16 11:08:32

回答

2

规则中的^相匹配的字符串的开始;尝试用metro/前面加上或删除其

RewriteRule /metro/bug-reports-for-([0-9a-zA-Z]+) /metro/metroreports.php?city=$1 [NC,L] 
+0

是的,谢谢,解决了它。 .htaccess文件不在metro /目录中。愚蠢的错误,我的一部分。 – robert 2012-02-16 11:10:48

0

尝试

RewriteRule ^bug-reports-for-([0-9a-zA-Z]+)$ metroreports.php?city=$1 [NC,L] 
+0

仍然无法正常工作。 – robert 2012-02-16 11:08:47