.htaccess url rewrite在GoDaddy Shared Server上不起作用,返回了Apache 2.4.3 - 404错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess url rewrite在GoDaddy Shared Server上不起作用,返回了Apache 2.4.3 - 404错误相关的知识,希望对你有一定的参考价值。

我创建了一个.htaccess文件。对madewithlove的htaccess测试器(https://htaccess.mwl.be)进行的测试表明URL重写是正确的,但是实时测试会返回404错误。

我要重写的URL: http://example.com/folder1/folder2/word123 //重定向到 https://example2.com/en/?key=word123

我的.htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

# BEGIN Part that is not working
Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteRule ^folder1/folder2/(.*)$ https://example2.com/en/?key=$1 [R=301,L,NE]
# End part that is not working

我正在使用Apache 2.4.3-25的GoDaddy共享主机。 WordPress行有效。如果删除它们,则Wordpress页面和博客链接会中断。

我认识到这个问题类似于URL Rewrite keeps returning 404 Error,但martoio从现有文件重定向。 我尝试了在Qazxswpoi上提供的Siraj Khan和Gautam Jha的解决方案无济于事。

我不知道该怎么做,所以非常感谢你的帮助。

这是修改后的版本,包括neokio的建议:

Friendly URLS / URL Rewriting using .htaccess on godaddy shared server
答案

我的.htaccess文件位于public_html文件夹base url中,被另一个位于folder1中的.htaccess文件覆盖。

检查.htaccess文件是否位于子文件夹中,因为最深子文件夹中的.htaccess文件优先。

以上是关于.htaccess url rewrite在GoDaddy Shared Server上不起作用,返回了Apache 2.4.3 - 404错误的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

通过 Wordpress Rewrite 或 .htaccess 重写 URL

htaccess从Rewrite中排除URL

.htaccess url-rewrite 如果文件不存在

.htaccess url rewrite在GoDaddy Shared Server上不起作用,返回了Apache 2.4.3 - 404错误

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php