【发布时间】:2017-11-07 20:08:43
【问题描述】:
我尝试使用以下代码将新的 .htaccess 文件添加到 Drupal 站点的根目录:
# Redirect all users to access the site WITH the 'www.' prefix
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !\.([a-z-]+\.[a-z]{2,6})$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是现在我在不是主页的每个页面上都收到此错误。请帮忙!所以如果我去 www.website.com/products 我会得到这个:
Not Found
The requested URL /products was not found on this server.
Apache/2.4.7 (Ubuntu) Server at www.website.com Port 443
这个“未找到”是否与上面的 .htaccess 代码有关?
【问题讨论】:
-
我认为这不太可能是原因。该 sn-p 仅用于在域名中强制使用
www.。它没有做更多的事情,除了它不会尝试添加www.前缀,如果请求以看起来像 file.extension 的东西结尾。 -
感谢您的回复!我认为在添加 .htaccess 的同时注意到错误可能只是巧合,但我不确定。如果 mod_rewrite 没有打开,如果添加 .htaccess 会搞砸并且 Apache 需要重启?
-
是的,如果您在未启用
mod_rewrite的情况下使用此功能,然后启用,则需要重新启动该更改才能生效;即,加载新模块。也就是说,在正常情况下,您不需要在编辑 .htaccess文件后重新启动 Apache,不需要。 -
“添加新的 .htaccess 文件”是指您将此代码添加到现有(Drupal 的).htaccess 文件中,还是用您的替换旧文件?
-
@MilanG 实际上我不小心覆盖了 Drupal
.htaccess文件,因为它是隐藏文件
标签: php apache .htaccess drupal