我遇到了一些小麻烦,想知道是否有人可以帮助我度过难关。我从 Hostgator 中提取了一个网站的副本,并尝试在我的本地计算机上使用它进行设置, WAMP
但是在尝试访问该站点时我不断收到错误消息。这是我尝试过的......我去了Apacheshttpd.conf
文件并取消了LoadModule
rewrite_module modules / mod_rewrite.so中的#。此外,我已将 AllowOverride None 更改为 All。话虽如此,我不确定还要寻找什么。请注意,在我的应用程序中,我的httaccess
文件(.)
前面没有(.htaccess)
. 我不确定这是否值得注意。关于访问我的网站需要做什么的任何想法?当我访问应用程序时,我确实看到了缓存版本(白屏),但是当我单击链接登录时,我看到404 Not Found
.
10 回答
在 httpd.conf 文件中,您需要删除 #
#LoadModule rewrite_module modules/mod_rewrite.so
删除 # 行后将如下所示:
LoadModule rewrite_module modules/mod_rewrite.so
我相信你的问题会得到解决...
在 Ubuntu 中我没有找到httpd.conf
,它现在可能不会退出了。apache2.conf
在为我工作的文件中编辑。
cd /etc/apache2
sudo gedit apache2.conf
这里在apache2.conf改变
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
至
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
改变这个
Include conf/extra/httpd-vhosts.conf
至
#Include conf/extra/httpd-vhosts.conf
并重新启动所有服务
我花了很多时间在这之后我发现......解决方案
first -
sudo a2enmod rewrite
sudo systemctl restart apache2
this line depends on your apache2 version you found on your console copy and past ...
sudo nano /etc/apache2/sites-available/000-default.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
在wamp/alias/ mySite.conf中,注意在别名地址的末尾添加一个斜杠“/”:
代替 :
Alias /mySite/ "D:/Work/Web/mySite/www"
经过 :
Alias /mySite/ "D:/Work/Web/mySite/www/"
或者 index.php 没有被正确读取。
如果您的 .htaccess 文件正常并且问题仍然存在,请尝试在 httpd.conf 中启用 AllowOverride 指令。如果在 Apache httpd.config 文件中将 AllowOverride 指令设置为 None,则 .htaccess 文件将被完全忽略。httpd.config 中启用 AllowOverride 指令的示例:
<Directory />
Options FollowSymLinks
**AllowOverride All**
</Directory>
因此重新启动您的服务器。
要将文件另存为 .htaccess,在使用 windows 时,您必须打开记事本,然后另存为 .htaccess,因为 windows 不会创建以点开头的文件。这应该让你的 .htaccess 工作,它会解决这个问题。
顺便说一下,为了接收特定的错误信息而设置Configure::write('debug', 0); to '2' in app/config/core.php
的开发目的。
刚刚解决了这个问题!我知道这个问题已经很老了,但我也遇到了同样的问题,上面的答案都没有帮助解决它。
假设您要使用的实际域名在您c:\windows\System32\drivers\etc\hosts
和您的配置中指定apache\conf\httpd.conf
并且apache\conf\extra\httpd-vhots.conf
是正确的,您的问题可能与我的相同:
在 Apache 的htdocs
目录中,我有一个快捷方式链接到我想在浏览器中看到的实际项目。事实证明,Apache 不理解快捷方式。我的解决方案是创建一个适当的符号链接:
在 Windows 和httdocs
目录中,我在终端中运行了这个命令:
mklink /d ple <your project directory with index.html>
httpdocs
这在目录中创建了一个正确的符号链接。重新启动 Apache 服务,然后重新加载页面后,我可以看到我的网站了 :)
对我来说,使用 OS X Catalina:从更改AllowOverride None
为AllowOverride All
是可行的。
httpd.conf
位于/etc/apache2/httpd.conf
。
环境:PHP7。MySQL8.
就我而言(在 Windows 上本地运行服务器),我需要在更改 httpd.conf 文件后清理缓存。
\modules\apache\bin> ./htcacheclean.exe -t