大家都知道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框架
在此先感谢您的帮助
PS:.htaccess像一个魅力工作
Server version: Apache/2.4.7 (Win32) Apache Lounge VC10 Server built: Nov 26 2013 15:46:56
来自Uniserver
PS2:我忘了说,我使用httpd.conf中启用的AllowOverride在Linux下运行.htaccess。 所以它可能只是一个Apache-Windows的问题。
我解决了这个问题!
DocumentRoot "${SRVROOT}/htdocs" <Directory "${SRVROOT}/htdocs">
部分!
那里设置
AllowOverride All
这将解决你的问题!
你必须考虑别名和.htaccess的位置
所以,例如,如果您创建了一个名为“mywebsite”的别名(因此您将打开http:// localhost / mywebsite以访问主页),但是在子文件夹(例如/ api文件夹)中有.htaccess,则需要使用这个RewriteBase指令:
RewriteBase / mywebsite / api
然后重新启动apache