WordPress.htaccess阻止我的吗?

时间:2017-12-15 作者:Alexsoyes

出现了一种非常奇怪的情况。

这是我的。htaccess:

RewriteEngine On
RewriteRule (.*)\\.ready / [R=410,L]

# 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
生产线RewriteRule (.*)\\.ready / [R=410,L] 直到我:

将410更改为301??(那么它正在工作,怎么会发生这种情况?)

  • 删除开始WP/结束WP块,如果是这样,则正确执行行
  • 需要410代码的示例URL:https://todaycycling.com/actualites-cyclisme/5t0e232502yg9t9/0002ap3_0198jqi/3613qh5786/.ready

    1 个回复
    最合适的回答,由SO网友:MrWhite 整理而成

    尝试在开始时重置默认错误文档.htaccess 文件:

    ErrorDocument 410 default
    
    如果您在服务器配置的其他地方定义了自定义410错误文档,那么这可能最终会被WordPress路由。(我遇到了一些共享主机,它们(出于某种原因)在服务器配置中定义了一个自定义的“default”ErrorDocument。如果此错误文档不存在,则最终将被重写为index.php 并由WordPress处理。)

    顺便提一下,当您在RewriteRule 那么您应该简单地使用连字符(-) 在RewriteRule 替换。(无论如何都会被忽略。)正如@janh在评论中提到的那样,“R=410 意味着L, 但为了清楚起见,我只想使用G“。因此,最好这样写:

    RewriteRule \\.ready - [G]
    
    匹配URL路径中的任何位置的“.ready”。这个(.*) 前缀是多余的,不必要地捕获模式是浪费。如果这只发生在URL路径的末尾,请包含字符串结尾锚定($). 例如:。\\.ready$

    结束

    相关推荐

    .htAccess 301与实施HTTPS的302

    对于WordPress,我看到了两种不同的编辑技术。用于路由到HTTPS的htaccess文件。这些方法的优缺点是什么:Option #1RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 导航到www.example时。com,此解决方案返回状态302并将流量路由到https://www.example.com看见here.Opt