我目前正在尝试将网站转移到运行 Ubuntu 12.10 的新服务器。该网站在旧服务器上运行良好,但新服务器给我带来了一些问题。
当我访问该网站时,我看到的是白页。查看源代码后,我看到它开始加载页面,然后停止。
我查看了 Apache 错误日志并看到以下错误:
negotiation: discovered file(s) matching request:
我搜索了一下,看到了一些关于 URL 重写的参考资料。不确定这是否正确,但我在下面附上了重写内容:
# Always use www in the domain
# Replace 'example.com' with your domain name
RewriteEngine on
RewriteRule dir/location http://www.mydomain.com/dir/location[R=301,L]
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%mydomain.com%{REQUEST_URI} [R=301,L]
#####################################
# the first part of this file is used if you configure your scuttle for nice urls
# (see $cleanurls in config.inc.php)
#####################################
# Rewrite clean URLs onto real files
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/.]+)/?(.*)$ /$1.php/$2 [QSA,L]
RewriteRule ^api/([a-z]+)/([a-z]+) /api/$1_$2.php
</IfModule>
#####################################
# This second part is used to speed-up the application
#####################################
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/ico "access plus 15 days"
ExpiresByType image/png "access plus 15 days"
ExpiresByType image/gif "access plus 15 days"
ExpiresByType text/js "access plus 15 days"
ExpiresByType text/css "access plus 15 days"
</IfModule>
<IfModule mod_deflate.c>
#<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
#</FilesMatch>
</IfModule>
知道发生什么事了吗?
答案1
禁用内容协商,至少从您的 .htaccess 中更改Options +FollowSymlinks
为Options +FollowSymlinks -MultiViews
。
PS:第一个重写规则的标志前缺少一个空格