gpt4 book ai didi

php - RewriteRule 创建 500 内部服务器错误

转载 作者:可可西里 更新时间:2023-10-31 22:18:27 24 4
gpt4 key购买 nike

我的 .htaccess 文件中有以下内容:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^directory/(.*)$ directory/index.php?id=$1

我想要实现的是:

当访问 URL www.example.com/directory/10 时,页面 www.example.com/directory/?id=10 显示在不改变 URL 外观的浏览器。

虽然上面的代码创建了一个 500 Internal server error。

有谁知道我哪里出错了?

最佳答案

您的代码肯定会生成 500 内部服务器错误,因为它会导致无限循环。原因是您匹配的 URI 模式是:^directory/(.*)$

与重写前后的 URL 匹配。一旦达到允许的最大内部重写限制,Apache 就会抛出 500 个内部服务器错误并退出。

将您的代码更改为:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^directory/(.*)$ directory/index.php?id=$1 [L,QSA,NC]

上面的代码有一个额外的 RewriteCond %{REQUEST_FILENAME} !-f 将确保在 /directory/index.php 后第一次执行 RewriteRule将是一个有效的文件。

关于php - RewriteRule 创建 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17107940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com