【问题标题】:Static redirection in .htaccess with rewriterule.htaccess 中使用 rewriterule 的静态重定向
【发布时间】:2017-02-22 00:10:01
【问题描述】:

我应该在 .htaccess 中进行一些 url 重定向(不传递变量),但我不想让看到目标 url。我该怎么做? 我已经尝试过使用这样的重定向指令:

Redirect /en/folder1/url1 /en/folder2/url2

但是通过这种方式,目标网址是可见的。所以我开始尝试像这个例子一样使用 RewriteRule:

RewriteRule ^/en/folder1/url1$ /en/folder2/url2

但结果我总是错误页面。

附:此代码位于带有默认 Wordpress url 重写代码的 .htaccess 文件中。

编辑。这是完整的 .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^en/folder1/url1$ en/folder2/url2

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

【问题讨论】:

    标签: wordpress .htaccess redirect mod-rewrite


    【解决方案1】:

    您需要从规则模式中删除前导斜杠

    RewriteEngine on 
    
    
    
     RewriteRule ^en/folder1/url1$ /en/folder2/url2 [L]
    

    【讨论】:

    • 你要去什么url,服务器返回什么错误?
    • 网址是 en/folder1/url1 但 wordpress 加载自定义错误页面并且不显示正确的页面。我已经编辑了原始问题以包含 .htaccess 的整个代码
    • 好的,看来您的 wordpress 规则与此冲突。将此放在其他规则之前的顶部
    • 在浏览器地址栏中输入/folder2/url2是否有效?
    • 我已经在 RewriteEngine On 之后和 Wordpress 重写规则之前设置了我的规则,但它不起作用。如果我输入 en//folder2/url2 加载正确的页面
    猜你喜欢
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    相关资源
    最近更新 更多