0

将站点迁移到开发服务器并出现奇怪的行为。原盒没问题。进行了手动移动,即 scp'd 文件转移到新盒子,旧盒子上数据库的 mysqldump 和新盒子上恢复数据库,并编辑 configuration.php 文件以指向开发盒子上的新设置

我可以点击主页,一切都很好,但对于所有菜单,我都会收到 404 错误。配置文件显示 url rewriting on 和 set on

public $sef = '1';
public $sef_rewrite = '1';

更奇怪的是,如果我关闭 sef,大多数事情都会起作用,但不是全部。例如,我可以调用http://my.test.site/index.php?option=com_content&view=category&layout=blog&id=41&Itemid=116并在 Apache 访问日志中我将获得 200 响应代码,但浏览器中的页面为空白.

我已经尝试打开和关闭设置和重写设置,清除缓存,并且一直在 .htaccess 文件中,我在其中切换了 RewriteBase / 打开和关闭无效。

有想法的人吗?

Dev Box - Apache 2.4.2 与 PHP 5.5.3 和 Joomla!3.1.5 稳定 [Ember]

通过 apachectl -t -D DUMP_MODULES 加载的 Apache 模块

 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 geoip_module (shared)
 headers_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)
 unique_id_module (shared)
 php5_module (shared)

编辑 - 我也查看了我的 php 和 joomla 日志,但什么也没出现

更新 - 取得了一些进展。非 sef URL 都在工作。最后将其追溯到丢失的模块(图像)。然而,在 sef URL 上仍然没有进展。所有其他页面上的所有 404

4

1 回答 1

0

在浏览了一堆论坛和电子邮件后,我的想法是 .htaccess 文件。我经历了许多排列,但似乎没有任何帮助。

偶然我检查了 mod_rewrite 是否已加载并正常运行。我很确定它已加载,但它无法正常工作。我做了一个测试,但无法让它重写我的 URL

例如,我将此添加到我的 .htaccess 文件中

Options +FollowSymLinks
Redirect /cnn.html http://www.cnn.com

我发现在 Apache conf 文件中,默认安装有 AllowOverride None,而它应该是 AllowOverride All。一旦我进行了更改并重新启动,就可以开始了

于 2013-11-07T23:27:50.450 回答