假设我有一个域名“example.com”,无论有没有“www.”前缀都可以使用。
假设我有一个名为“extra”的文件夹。
当有人访问 www.example.com/extra 时,我期望 Apache 将其重定向到 www.example.com/extra/。但事实并非如此!相反,它们被发送到 example.com/extra/。丢失 www. 前缀意味着 (a) 生成新会话,用户退出,并且 (b) 安全证书失效。
我在共享托管平台(hsphere)上使用 Apache。
.htaccess文件如下:
ErrorDocument 500 "<h2>Application error</h2>Web application failed to start properly"
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php/$1
</IfModule>
答案1
我猜是因为使用规范名称Apache httpd 配置中的指令。只需将其设置为UseCanonical off
或删除该指令即可。