将网站迁移到开发服务器,我的行为很奇怪。原盒上没问题。手动移动,即scp'd文件到新盒子,旧盒子上的数据库mysqldump&在新框上恢复数据库并编辑configuration.php文件以指向开发框上的新设置
我可以点击主页,一切都很好,但是对于所有菜单,我都会收到404错误。配置文件显示URL重写并在
上设置public $sef = '1';
public $sef_rewrite = '1';
更奇怪的是,如果我关闭大部分工作但不是全部工作。例如,我可以调用http://my.test.site/index.php?option=com_content&view=category&layout=blog&id=41&Itemid=116,在Apache访问日志中,我将获得200响应代码,但浏览器中只有一个空白页。
我已经尝试打开和关闭设置和重写设置,清除缓存并且已经在.htaccess文件中,我已经切换RewriteBase / on和off无效。
有想法的人吗?
Dev Box - Apache 2.4.2,PHP 5.5.3和Joomla! 3.1.5稳定[Ember]
Apache模块通过apachectl -t -D DUMP_MODULES
加载 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都是
答案 0 :(得分:0)
经过一堆论坛和电子邮件后,我的想法是.htaccess文件。我经历了许多排列,但似乎没有任何帮助。
偶然我检查了mod_rewrite是否已加载并正常运行。我很确定它已经加载了但是它没有用。我做了一个测试,无法让它重写我的网址
e.g。我将此添加到我的.htaccess文件
Options +FollowSymLinks
Redirect /cnn.html http://www.cnn.com
我发现在Apache conf文件中,默认安装具有AllowOverride None,而它应该是AllowOverride All。一旦我做出改变并重新启动,就可以了。