mod#u rewrite和.htaccess可能未运行…或I';我是个白痴

mod#u rewrite和.htaccess可能未运行…或I';我是个白痴,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我见过大约100种不同的mod_重写和.htaccess问题,但到目前为止,我还没有找到解决我的问题的方法 我安装了一台运行10.8.2的新电脑MacBookPro。这不是使用MAMPP或类似的东西,只是Apache的本机安装。一切似乎都很好,似乎和我的另一台机器一样,但据我所知,url重写并没有发生 我已经检查了重写模块是否已加载……事实上,我已经将Allow all和所有这些东西添加到了我的各种.conf文件中,但没有任何东西起作用。我对下一步该做什么都失去了看法 我不知道这是否重要,但我已

我见过大约100种不同的mod_重写和.htaccess问题,但到目前为止,我还没有找到解决我的问题的方法

我安装了一台运行10.8.2的新电脑MacBookPro。这不是使用MAMPP或类似的东西,只是Apache的本机安装。一切似乎都很好,似乎和我的另一台机器一样,但据我所知,url重写并没有发生

我已经检查了重写模块是否已加载……事实上,我已经将Allow all和所有这些东西添加到了我的各种.conf文件中,但没有任何东西起作用。我对下一步该做什么都失去了看法

我不知道这是否重要,但我已经启用了VirtualHosts,如果您将/index.php/放在URL中,我正在处理的站点确实会加载

我会发布任何人需要看到的代码,只要告诉我你需要什么

这是.htaccess文件(在另一台机器上工作)

我的虚拟主机

NameVirtualHost *:80

ServerRoot "/Users/admin/Sites/dir"

<VirtualHost *:80>
   DocumentRoot mysite/awareness-thing
   ServerName awareness.test.dev
</VirtualHost>
NameVirtualHost*:80
ServerRoot“/Users/admin/Sites/dir”
DocumentRoot mysite/意识事件
ServerName awareness.test.dev

编辑:这里是我的httpd.conf文件的要点:

似乎有两个问题:

我将.htaccess文件更改为:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteRule ^.*$ index.php [NC,L]
我将vhost.conf改为:

名称虚拟主机*:80

ServerRoot "/Users/admin/Sites/site"

<Directory "/Users/admin/Sites/site"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory>

<VirtualHost *:80>
    DocumentRoot 2403_awareness-campaign
    ServerName test.awareness-campaign.dev
</VirtualHost>
ServerRoot”/Users/admin/Sites/site
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
DocumentRoot 2403_宣传活动
ServerName test.awareness-campaign.dev

对我来说,这是一个重大的WTF时刻

删除了php5.4标记,因为此问题与php无关。在规则中我唯一不确定的是是否应该用斜杠开始RewriteCond匹配。我通常看到使用%{REQUEST_URI}而不是
$1
编写的匹配,并且
^(.*)$
通常包含前导斜杠,因此重写条件可能需要
RewriteCond$1^/(index\.php | images | robots\.txt)
。但是,由于该规则适用于您的其他设置,除非您已将上下文从目录更改为VirtualHost或其他内容,否则不应如此。感谢您删除该规则,我开始在某个地方提到这是一个CodeIgniter应用程序,但我很确定这与此无关。我尝试了你的建议,但没什么不同,我还是得到了404。你正在使用顶级域开发的另一个站点是不是?通常,我的“测试”是看。htaccess是否有效。我只是键入随机字符,看看是否有500个错误。如果你没有,那么它就不会被处理。@Ares这通常也是我的测试…令人困惑的是,我没有得到500分,我得到的是404分。终于明白了,这是多种因素的结合。我马上就把答案贴出来。杰蒂尔:是的。我认为这是问题的一部分。我做了一些改变,使整个工作顺利进行。
ServerRoot "/Users/admin/Sites/site"

<Directory "/Users/admin/Sites/site"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory>

<VirtualHost *:80>
    DocumentRoot 2403_awareness-campaign
    ServerName test.awareness-campaign.dev
</VirtualHost>