Apache Mod重写规则给出404错误 - 尝试用于创建web api

时间:2014-07-16 20:37:33

标签: mod-rewrite url-rewriting asp.net-web-api

我使用apache mod rewrite将api子目录中的所有url重定向到index.php的控制器:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/api/(.*)$ /api/index.php?request=$1 [QSA,NC,L]
</IfModule>

所有api调用也必须是https,因此服务器端口行。但是,当我测试它时,我收到404页错误...

任何人都有任何建议,为什么会出现这种情况?

-Sneha

1 个答案:

答案 0 :(得分:1)

试试这个:

<IfModule mod_rewrite.c>
RewriteEngine On
Options -Multiviews
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^/api/([^/]+)/?$ /api/index.php?request=$1 [QSA,NC,L]
</IfModule>