404 Not Found在此服务器上找不到请求的URL

时间:2013-09-17 14:49:04

标签: apache cakephp mod-rewrite cakephp-1.3 wamp

我遇到了小麻烦,想知道是否有人可以帮助我解决驼峰问题。我从Hostgator中删除了一个网站的副本,我正在尝试使用WAMP在我的本地计算机上设置它,但是,我在尝试访问该网站时遇到错误。这是我试过的..我去了Apaches httpd.conf文件并取消注释了#{1}} rewrite_module modules / mod_rewrite.so。此外,我已将AllowOverride None更改为All。话虽如此,我不知道还有什么可以寻找的。请注意,在我的申请中,我的LoadModule个文件前面没有httaccess (.)。我不确定这是否值得注意。有关访问我的网站需要做什么的任何想法?当我访问应用程序时,我确实看到了缓存版本(白屏),但是当我单击链接登录时,我看到了(.htaccess)

11 个答案:

答案 0 :(得分:15)

在httpd.conf文件中,您需要删除#

#LoadModule rewrite_module modules/mod_rewrite.so
删除#行后,

将如下所示:

LoadModule rewrite_module modules/mod_rewrite.so

我相信你的问题会得到解决......

答案 1 :(得分:12)

更改此

Include conf/extra/httpd-vhosts.conf

#Include conf/extra/httpd-vhosts.conf

并重启所有服务

答案 2 :(得分:5)

如果您的.htaccess文件正常并且问题仍然存在,请尝试在httpd.conf中启用AllowOverride指令。如果Apache httpd.config文件中的AllowOverride指令设置为None,则完全忽略.htaccess文件。 httpd.config中启用的AllowOverride指令示例:

@PostConstruct    
public void initialize() {
   action = "initialValue";
   name = new rrpInputField();
   name.currentVAlue = "TestValue;
}

因此重新启动服务器。

答案 3 :(得分:5)

我花了很多时间在这之后我找到了...解决方案

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>

答案 4 :(得分:4)

wamp / alias / mySite.conf 中,请小心在别名“地址”末尾添加斜杠“/”:

替换:

Alias /mySite/ "D:/Work/Web/mySite/www"

通过:

Alias /mySite/ "D:/Work/Web/mySite/www/"

或者没有正确读取index.php。

答案 5 :(得分:1)

要将文件保存为.htaccess,使用Windows时,必须打开记事本,然后保存.htaccess,因为Windows不会创建以点开头的文件。这应该让你的.htaccess工作,它将解决问题。

顺便说一下,为了开发目的,为了接收设置Configure::write('debug', 0); to '2' in app/config/core.php的特定错误消息。

答案 6 :(得分:1)

刚刚解决了这个问题!我知道问题已经很老了,但我遇到了同样的问题,上面的答案都没有帮助解决它。

假设public static MyManagedBean getMyManagedBean () { MyManagedBean bean = (MyManagedBean ) getFacesContext().getApplication().getExpressionFactory().createValueExpression(getELContext(), "#{MyManagedBean}", MyManagedBean .class).getValue(FacesContext.getCurrentInstance().getELContext()); return bean; 中的actual domain name you want to use is specified以及c:\windows\System32\drivers\etc\hostsapache\conf\httpd.conf中的配置正确,您的问题可能与我的问题相同:

在Apache的apache\conf\extra\httpd-vhots.conf目录中,我有一个快捷方式链接到我想在浏览器中看到的实际项目。事实证明,Apache doesn't understand shortcuts。我的解决方案是创建一个合适的符号链接:

在Windows中,在htdocs目录中,我在终端中运行了这个命令:

httdocs

这在mklink /d ple <your project directory with index.html> 目录中创建了一个正确的符号链接。重新启动Apache服务然后重新加载页面后,我能够看到我的网站:)

答案 7 :(得分:0)

在我的情况下(在Windows上本地运行服务器)我需要在更改httpd.conf文件后清理缓存。

\modules\apache\bin> ./htcacheclean.exe -t

答案 8 :(得分:0)

在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>  

答案 9 :(得分:0)

对我来说,使用OS X Catalina: 从AllowOverride None更改为AllowOverride All是可行的方法。

httpd.conf位于/etc/apache2/httpd.conf上。

Env: PHP7的。 MySQL8。

答案 10 :(得分:-1)

确保您的PHP项目位于wamp \ www

首先将项目放在硬盘驱动器上安装了wamp服务器的上述文件夹中。