.htaccess文件不起作用,尝试了数百次

时间:2017-12-11 作者:vangogh94

我试了很多次,我读了很多例子,但我的。htaccess不工作。我的域名是:Lieboundsprueche。com/When I go to www.liebeundsprueche。它并没有将我重定向到Lieboundsprueche。这是我的。htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ %{REQUEST_FILENAME} [L]
# invalid code - and useless if the ^ and % were joined

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.php -f
RewriteRule ^ %{REQUEST_FILENAME}/index.php [L]
# invalid code as the second condition can NEVER happen and the Rule is flawed (regex of ^ !!!).
 RewriteCond %{HTTP_HOST} ^www\\.liebeundsprueche\\.com$
        RewriteRule ^/?$ "http\\:\\/\\/liebeundspruechee\\.com\\/" [R=301,L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^ 404/ [L]
# ditto
RewriteRule ^(.*[^/]) index.php?var=$1 [QSA,L]
</IfModule>

# END WordPress
请告诉我错误在哪里?

2 个回复
SO网友:Sid

尝试通过Cpanel进行操作(如果您有权访问)。

如果没有,请用您编写的所有代码(默认WordPress代码除外)清除ur HTACCESS并添加此代码。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.liebeundsprueche\\.com [NC]
RewriteRule ^(.*)$ http://liebeundsprueche.com/$1 [L,R=301]
</IfModule>

SO网友:MrWhite

您似乎有服务器配置问题(DNS看起来“正常”?),由于www子域甚至没有到达您的站点-它会导致(看起来)来自您的托管提供商的错误页面:

Error page returned when accessing the www subdomain

但htaccess文件是否正确?

严格地说,在内部重写之前,外部重定向(www到非www)应该在文件的顶部附近。

但是,这些指令还有其他问题。事实上,我怀疑mod\\u rewrite是否已启用(或者这是错误的.htaccess 文件?),自从你第一次RewriteRule 可能会阻止访问您的站点(出现403或500错误):

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ %{REQUEST_FILENAME} [L]
# invalid code - and useless if the ^ and % were joined
您已经注释过它是“无效代码”,但它没有被注释掉。为了防止在访问物理文件时进一步重写,应在RewriteRule 替换。例如:

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
不能重写到文件系统路径(即REQUEST_FILENAME 服务器变量)中的.htaccess 上下文这可能无法访问,并导致系统生成403禁止。

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.php -f
RewriteRule ^ %{REQUEST_FILENAME}/index.php [L]
# invalid code as the second condition can NEVER happen and the Rule is flawed (regex of ^ !!!).
我不确定你评论背后的原因,因为第二种情况可能发生。但是,如果您已经声明DirectoryIndex index.php (您有)。

结束