【问题标题】:.htaccess brings 500 Internal Server Error.htaccess 带来 500 Internal Server Error
【发布时间】:2023-03-30 10:15:01
【问题描述】:

我有这个 .htaccess 文件:

RewriteEngine On
RewriteBase /
RewriteRule ^/(.*)/(.*)/(.*)$    index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]

当我尝试访问该页面时,它给了我“500 内部服务器错误”。

我做错了什么?

【问题讨论】:

  • 您可能没有启用 mod_rewrite。你需要检查你的日志。但是如果它没有启用它不知道 RewriteEngine 是什么并且会得到一个 500 错误
  • 你是。模块未激活。谢谢

标签: apache .htaccess


【解决方案1】:

它对我有用——检查你是否像@Panama Jack 建议的那样启用了mod_rewrite

a2query -m rewrite

如果没有启用,则启用它:

a2enmod rewrite
service apache2 restart

如果你的基数是/,你可能还想删除规则中的第一个斜杠,所以它变成:

RewriteRule ^(.*)/(.*)/(.*)$    index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]

【讨论】:

    【解决方案2】:

    我假设您正在尝试将流量引导到 URL index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3

    显示 500 错误是因为它无法理解规则 ^/(.)/(.)/(.*)$

    请参考以下指南,

    https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

    【讨论】:

    猜你喜欢
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多