为什么我的apache rewriterule不起作用?

时间:2013-09-17 15:17:19

标签: apache .htaccess mod-rewrite rewrite

如果我写这样的.htaccess文件:

RewriteEngine on  
RewriteRule ^(.+)$ test.php

它使127.0.0.1/everyword ----> 127.0.0.1/test.php

但是,如果我像这样更改.htaccess文件:

RewriteEngine on  
RewriteRule ^database/(w+)_(d+)/?$ database.php?$1=$2

无法生成127.0.0.1/database/league_1 ----> 127.0.0.1/database.php?league=1

服务员说:

  

在此服务器上找不到请求的URL / database / league_1。

1 个答案:

答案 0 :(得分:0)

你的正则表达式:

^database/(w+)_(d+)/?$

匹配“数据库”,然后是“/”,然后是一个或多个“w”(字面意思是字母“w”),“_”,然后是一个或多个“d”(字面意思是字母) “d”)。你想逃避“w”和“d”:

^database/(\w+)_(\d+)/?$