htaccess
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteRule ^api/task/([^/]+)/?$ api/task/index.php?id=$1 [L,QSA]
RewriteRule ^api/task/skills/([^/]+)?$ api/task/skills.php?id=$1 [L,QSA]文件夹结构
/api/task/index.php
/api/task/skills.php网址使用情况
/api/task/1
/api/task/skills/1当我尝试访问/api/task/skills/1时,它将触发index.php的内容而不是skills.php。
有人能帮我指出我哪里出了问题吗?
发布于 2014-08-06 12:20:20
这是因为第一个规则中的正则表达式:mod_rewrite循环:^api/task/([^/]+)/?$,它也匹配/api/task/skills.php和/api/task/index.php
试试这个:
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
# skip further rules for real files/directories
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^api/task/([^/]+)/?$ api/task/index.php?id=$1 [L,QSA]
RewriteRule ^api/task/skills/([^/]+)?$ api/task/skills.php?id=$1 [L,QSA]https://stackoverflow.com/questions/25160206
复制相似问题