gpt4 book ai didi

apache - htaccess 和 mod_rewrite 导致 apache 因丢失文件而失败

转载 作者:行者123 更新时间:2023-12-02 09:45:54 24 4
gpt4 key购买 nike

对于一个简单的 php 站点,我想要有友好的 URL。所以我希望我的网址看起来像:

http://mysite.com/page/123

这指向:

http://mysite.com/page.php?id=123

这有效!但是如果我指向一个不在服务器上的文件,apache 就会出现峰值,我必须强制 Apache 退出(目前使用 MAMP 进行本地开发)。

这是我的 .htaccess 文件。有什么想法吗?

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([^/=]+)/?([^/]*)/?$ $1.php?id=$2 [N,QSA]

ErrorDocument 404 /404.php

最佳答案

只需颠倒两个规则的顺序并使用 L 标志而不是 N:

RewriteCond $1 !.*\.php$
RewriteRule ^([^/=]+)/?([^/]*)/?$ $1.php?id=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

关于apache - htaccess 和 mod_rewrite 导致 apache 因丢失文件而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835320/

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