Mod rewrite Mod_重写获取500服务器错误,ubuntu服务器
你好,今天我一直在为我的新家庭服务器苦苦挣扎。我在上面安装了最新版本的ubuntu服务器。安装了php、apache、mysql,一切看起来都很完美 我正试图建立一个网站,与我的本地机器上的XAMPP完美地工作。我一直在使用本指南设置mod_rewrite 这是我的访问权限Mod rewrite Mod_重写获取500服务器错误,ubuntu服务器,mod-rewrite,apache2,ubuntu-server,Mod Rewrite,Apache2,Ubuntu Server,你好,今天我一直在为我的新家庭服务器苦苦挣扎。我在上面安装了最新版本的ubuntu服务器。安装了php、apache、mysql,一切看起来都很完美 我正试图建立一个网站,与我的本地机器上的XAMPP完美地工作。我一直在使用本指南设置mod_rewrite 这是我的访问权限 RewriteEngine on RewriteCond %{REQUEST_URI} !^/?index.php$ RewriteRule . index.php 这是我的默认值 ` 服务器管理员webmaster@lo
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/?index.php$
RewriteRule . index.php
这是我的默认值
`
服务器管理员webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride all
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
问得好,有日志。它值得注意(
;)代码>
如我所见,您正在尝试连接到本地URLlogin/
通过你的重写规则,最后,它是
/var/www/serverpanel/index.php -> /serverpanel/index.php
它被重定向到另一个URL(不使用实际的Php),即/serverpanel/index.Php
因此,它尝试再次应用规则,但使用/serverpanel/index.php
正如您所猜测的,它将被重写到index.php
,从而执行无限循环
仔细查看您的日志:
(1) [perdir /var/www/serverpanel/] internal redirect with /serverpanel/index.php [INTERNAL REDIRECT]
这可能是解决方案的关键:perdir/var/www/serverpanel/
2个问题:
- 这里有
文件吗.htaccess
- 如果没有任何
,请尝试检查apacheconf文件,查找 与.htaccess
有关的/var/www/serverpanel/
指令,您可以找到问题所在
希望这会有所帮助您是否尝试过将rewrite log“rewrite.log”和rewrite LOGLEVEL 3这两行代码放在默认值中?您可能会发现它们的输出非常有用。有趣的是,这表明500错误来自PHP脚本(而不是apache配置)。我应该注意,我假设您已经检查了${APACHE\u LOG\u DIR}/error.LOG,但没有发现任何有用的东西。如果是PHP造成的问题,您可能需要在PHP文件顶部启用错误日志记录。我的理论是:在调用mod_rewrite之前,您的浏览器正在从serverpanel/login重定向到serverpanel/login/by mod_dir,而浏览器正在丢弃POST数据。这会导致index.php文件不愉快地死去。您可以使用wget-d检查任何重定向(或curl-v)。
(1) [perdir /var/www/serverpanel/] internal redirect with /serverpanel/index.php [INTERNAL REDIRECT]