0

所以我在我的 .htaccess 中有一个 Rewrite ,它与我最初计划的工作正常。

RewriteEngine on
RewriteRule ^([^/]+)/?$ index.php?id=$1 [QSA]

我有 index.php?id=4 去 /4/。

问题

如果我尝试转到另一个页面,它总是让我回到 index.php。例如,我有一个名为“Update.php”的页面。如果我去 update.php,我会被重定向到 index.php

有什么建议么?

提前致谢,

4

2 回答 2

1

添加这一行

RewriteCond %{REQUEST_FILENAME} !-f

凌驾于你的统治之上

这仅在文件不存在时重写

于 2013-07-21T01:16:31.107 回答
1
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f #check if requested file not found
RewriteCond %{REQUEST_FILENAME} !-d #check if requested directory not found
RewriteRule ^([^/]+)/?$ index.php?id=$1 [QSA] #then apply the rule

上面的规则首先检查请求的 URI 是否不是真实的文件和文件夹,然后应用该规则,这可以防止在打开现有文件和文件夹时重定向。

于 2013-07-21T01:18:32.193 回答