如何让mod_rewrite与EasyPHP一起使用?

时间:2013-02-18 12:07:15

标签: php windows apache mod-rewrite easyphp

我的mod_rewrite无法正常工作。这是mod_rewrite部分:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
# Options +SymLinksIfOwnerMatch
  RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>

它就像Ubuntu和OS X上的魅力一样,但在Windows下的EasyPHP上失败了。 我在apache配置中取消注释以下行:

LoadModule rewrite_module modules/mod_rewrite.so

我已经将每个AllowOverride指令设置为All(它只是一个本地服务器,因此就安全性而言它是无关紧要的)。我希望mod_rewrite打开的特定vhost的vhost条目如下:

<VirtualHost 127.0.0.1>
    DocumentRoot "E:/Dropbox/Websites/mysite/public"
    ServerName myvhost.mysite
    <Directory "E:/Dropbox/Websites/mysite/public">
        Options FollowSymLinks Indexes
        RewriteEngine On        
        AllowOverride All
        Order allow,deny
        Allow from all
        #Deny from all
        Require all granted
    </Directory>
</VirtualHost>

如果我在我的公共文件夹中的index.php文件的顶部放置一个“die”,它就永远不会发生,所以显然mod重写从未试图将其重定向到index.php。我得到的只是404。

1 个答案:

答案 0 :(得分:0)

看到这个答案:

easyphp and .htaccess

  

EasyPHP中Apache的默认安装没有激活使用.htaccess文件修改文件夹中的服务器配置的选项。

     

您必须告诉Apache可以使用.htaccess文件以及在哪个文件夹中更改哪些配置。要在主Web服务器上启用所有配置更改,您应该编辑http.conf(在Apache / conf文件夹中),并查找

希望这会有所帮助:)