cPanel - 用.htaccess编写的重定向不起作用

时间:2016-03-16 09:52:36

标签: apache .htaccess redirect mod-rewrite

.htaccess中的以下脚本在localhost上正常工作,但在我将网站上传到服务器后无效。例如," http://ipaddress/mywebsite/api/"将我重定向到位于mywebsite目录中的api.php。

的.htaccess

<IfModule mod_rewrite.c>

    Options +FollowSymLinks
    RewriteEngine on

    RewriteRule ^api/^ api.php

</IfModule>

文件层次结构

root of apache
+--mywebsite
   +--.htaccess
   +--index.php
   +--api.php

1 个答案:

答案 0 :(得分:0)

由于结尾^,您使用的规则无效。请改用:

RewriteRule ^api/?$ api.php

请注意,问号会使尾部斜杠成为可选项。如果您只想在斜杠出现时重写,请删除问号。

我还建议在规则中添加L标记,以防您稍后添加其他规则:

RewriteRule ^api/?$ api.php [L]

更新:根据您的评论,将规则更改为以下内容,以便将api/*传递给api.php

RewriteRule ^api api.php [L]

这会将apiapi/api/<anything>传递给api.php。您可以通过使用$_SERVER['REQUEST_URI']获取URI来检索请求。