我遇到了一些小麻烦,想知道是否有人可以帮助我渡过难关。我从 Hostgator 上下载了一个网站的副本,并尝试使用
WAMP
在本地计算机上进行设置,但是在尝试访问该网站时,我不断收到错误消息。这是我尝试过的..我转到 Apaches httpd.conf
文件并取消注释 LoadModule
rewrite_module module/mod_rewrite.so 中的 #。另外,我已将AllowOverride None 更改为All。话虽如此,我不知道还要寻找什么。请注意,在我的应用程序中,我的 httaccess
文件前面没有 (.)
(.htaccess)
。我不确定这是否值得注意。关于我需要做什么才能访问我的网站有什么想法吗?当我访问该应用程序时,我确实看到了缓存版本(白屏),但是当我单击链接登录时,我看到了 404 Not Found
。
在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>
在 httpd.conf 文件中,您需要删除 #
#LoadModule rewrite_module modules/mod_rewrite.so
删除#行后将如下所示:
LoadModule rewrite_module modules/mod_rewrite.so
我相信您的问题将会得到解决...
改变这个
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>
在apache版本中:2.4.41
首先,启用apache重写模块:
sudo a2enmod rewrite
你需要改变
apache2.conf
不需要改变 sites-available
sudo gedit /etc/apache2/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>
然后重新启动
apache2
sudo service apache2 restart
在 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>
因此重新启动您的服务器。
https://create-react-app.dev/docs/deployment/
如果您使用 Apache HTTP Server,则需要在公共文件夹中创建一个 .htaccess 文件,如下所示:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
当您运行 npm run build 时,它将被复制到构建文件夹。
要将文件另存为 .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
确保您的默认 apache2.conf 文件至少如下所示: 配置文件默认位置是**/etc/apache2/apache2.conf**
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>