mod_rewrite返回文件名而不是值

时间:2013-10-27 14:14:02

标签: php .htaccess mod-rewrite

我尝试通过将以下内容添加到我的.htaccess文件中来创建一个干净的网址,将http://www.example.com/view/index.php?id=12345转换为http://www.example.com/view/12345

RewriteEngine On
RewriteRule ^view/([^/]*)$ view/index.php?id=$1 [L]

但是返回文件名index.php而不是12345。我的错误日志很清楚,我看不出这里有什么问题 - 任何想法?

1 个答案:

答案 0 :(得分:1)

你需要一个有条件的匹配

RewriteEngine On

RewriteCond %{THE_REQUEST} ^(?:GET|POST)\ /view/([^/\s?]+) [NC]
RewriteRule ^ view/index.php?id=%1 [L]