【问题标题】:.htaccess: RewriteRule: bad flag delimiters.htaccess: RewriteRule: 错误标志分隔符
【发布时间】:2015-02-04 01:25:05
【问题描述】:

把我的头发拉到这个上面。除了 Wordpress 的默认设置之外,我还有以下 .htaccess 文件,它可以执行一些自定义重定向。在我的本地 Wamp 服务器上对其进行测试时,它运行良好,但在进入生产环境后,我在服务器日志中没有收到 RewriteRule: bad flag delimiters 错误,过了一会儿,网站甚至出现了 internal server error

任何帮助将不胜感激。提前致谢!

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^rockford_weddings___welcome\.html$ /wedding/ [R=301,L]
RewriteRule ^blog/?$ /journal/ [R=301,L]
RewriteRule ^blog/(.*)$ /$1 [R=301,L]

RewriteRule ^portraitinvestment/?$ /portraitinvestment\.pdf [R=301,L]
RewriteRule ^weddinginvestment/?$ /weddinginvestment\.pdf [R=301,L]
RewriteRule ^holidaycards2014/?$ /holidaycards2014\.pdf [R=301,L]
</IfModule>

# 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

【问题讨论】:

    标签: wordpress .htaccess mod-rewrite


    【解决方案1】:

    可能是换行错误或某些字符集。

    试试这个:

    1. 将您的自定义 htaccess 内容复制粘贴到某处:

      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      
      RewriteRule ^rockford_weddings___welcome\.html$ /wedding/ [R=301,L]
      RewriteRule ^blog/?$ /journal/ [R=301,L]
      RewriteRule ^blog/(.*)$ /$1 [R=301,L]
      
      RewriteRule ^portraitinvestment/?$ /portraitinvestment\.pdf [R=301,L]
      RewriteRule ^weddinginvestment/?$ /weddinginvestment\.pdf [R=301,L]
      RewriteRule ^holidaycards2014/?$ /holidaycards2014\.pdf [R=301,L]
      </IfModule>
      
    2. 从服务器中删除您的 .htaccess 文件

    3. 转到您的 wordpress 管理面板并找到选项 -> 永久链接
    4. 保存。 (它会重新生成 .htaccess 文件)
    5. 测试公共网站是否有效
    6. 复制粘贴您的自定义代码开始您的 htaccess 文件

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      相关资源
      最近更新 更多