1

我已经看到了人们遇到的大约 100 个不同的 mod_rewrite 和 .htaccess 问题,但到目前为止,我还没有解决我的问题。

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

我已经检查了重写模块是否已加载...确实如此,我已将 Allow all and all that stuff 添加到我的各种 .conf 文件中,但没有任何效果。我只是对下一步要尝试什么失去了看法。

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

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

这是 .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

4

1 回答 1

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

名称虚拟主机 *: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 时刻。

于 2013-02-22T15:54:15.250 回答