为什么我的重写规则不起作用?
问题描述:
我试图让我的网址更适合搜索引擎优化,我坚持基础知识,但规则不起作用,我找不出原因。为什么我的重写规则不起作用?
这是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]
这一切看起来非常直接,但由于某种原因不起作用。任何人都可以在这里给我一只手吗?
答
规则中的^
相匹配的字符串的开始;尝试用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
答
尝试
RewriteRule ^bug-reports-for-([0-9a-zA-Z]+)$ metroreports.php?city=$1 [NC,L]
+0
仍然无法正常工作。 – robert 2012-02-16 11:08:47
两个网址应正常工作,只需输入你的蚂蚁到浏览器中的一个。 – hakre 2012-02-16 11:05:04
但重写的人不工作,这就是为什么我在这里:)当我在浏览器中输入metro/bug-reports-for-ny时,我得到了404。 – robert 2012-02-16 11:06:35
你有一个名为'/ metro'的目录?和'.htaccess'文件位于何处? – 2012-02-16 11:08:32