3

Apache 和 mod_rewrite 的黑魔法大家都知道...

另外我也有问题...

我刚刚从这里下载了 Apache 2.4 https://www.apachelounge.com/download/win64/并使用这一行启用了 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:我忘了说,我在 Linux 下运行了 .htaccess,并在 httpd.conf 中启用了 AllowOverride。所以它可能只是一个 Apache-Windows 问题。

4

2 回答 2

1

我解决了这个问题!

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

部分!

并有设置

AllowOverride All

这将解决您的问题!

于 2014-10-30T19:05:49.417 回答
1

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

因此,例如,如果您创建了一个名为“mywebsite”的别名(因此您将打开http://localhost/mywebsite以访问主页)但您在子文件夹(例如 /api 文件夹)中有 .htaccess,您需要使用这个 RewriteBase 指令:

RewriteBase /mywebsite/api

然后重启apache

于 2015-11-12T20:54:30.700 回答