mod_rewrite和.htaccess可能没有运行......或者我是个白痴

时间:2013-02-22 02:09:14

标签: .htaccess mod-rewrite

我已经看到了人们所拥有的100个不同的mod_rewrite和.htaccess问题,但到目前为止,我还没有找到解决问题的方法。

我设置了一台运行10.8.2的新计算机macbook pro。这不是使用MAMPP或类似的东西,只是Apache的本机安装。一切似乎很好,看起来与我的其他机器相同,但据我所知,url重写不会发生。

我已经检查过重写模块已经加载......而且,我已经添加了允许所有这些内容到我的各种.conf文件中,但没有任何工作。我对下一步甚至尝试的内容都失去了看法。

我不知道这是否重要,但我已启用VirtualHosts,如果您将/index.php/放入网址,我正在处理的网站确实会加载。

我发布任何人都需要查看的代码,让我知道你需要什么。

这里是.htaccess文件(适用于其他机器)

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L]

我的虚拟主机

NameVirtualHost *:80

ServerRoot "/Users/admin/Sites/dir"

<VirtualHost *:80>
   DocumentRoot mysite/awareness-thing
   ServerName awareness.test.dev
</VirtualHost>

编辑:这是我的httpd.conf文件的要点:https://gist.github.com/JoeCianflone/f580f7dd75d7e10f05a0

1 个答案:

答案 0 :(得分:0)

似乎有两个问题在继续:

我将.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更改为:

NameVirtualHost *: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>

只是一个问题的组合,这使我成为一个大型的WTF时刻。