mod_rewrite适用于Linux但不适用于Windows

时间:2014-08-29 05:40:48

标签: windows apache mod-rewrite windows-7-x64 apache2.4

每个人都知道Apache和mod_rewrite的黑魔法......

我也有问题......

我刚刚从这里https://www.apachelounge.com/download/win64/下载了Apache 2.4,并使用此行启用了mod_rewrite

LoadModule rewrite_module modules/mod_rewrite.so

输出httpd.exe -v

Server version: Apache/2.4.10 (Win64) Apache Lounge VC10 Server built: Jul 19 2014 12:25:58

我的httpd.conf http://pastebin.com/TDHpurBi

我的.htaccess http://pastebin.com/f6KV3Zd2

.htaccess适用于我的MVC-Framework

提前感谢您提供任何帮助

PS:.htaccess就像魅力一样

Server version: Apache/2.4.7 (Win32) Apache Lounge VC10 Server built: Nov 26 2013 15:46:56

来自Uniserver的

PS2:我忘了说,我在Linux下使用httpd.conf中启用的AllowOverride运行了.htaccess。所以它可能只是一个Apache-Windows问题。

2 个答案:

答案 0 :(得分:1)

我解决了这个问题!

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

部!

然后设置

AllowOverride All

这将解决您的问题!

答案 1 :(得分:1)

你必须考虑.htaccess的别名和位置

所以,例如,如果您创建了一个名为&#34; mywebsite&#34;的别名(所以你将打开http://localhost/mywebsite到达主页)但你在子文件夹中有.htaccess,例如/ api文件夹,你需要使用这个RewriteBase指令:

RewriteBase / mywebsite / api

然后重启apache