所以我在我的 .htaccess 中有一个 Rewrite ,它与我最初计划的工作正常。
RewriteEngine on
RewriteRule ^([^/]+)/?$ index.php?id=$1 [QSA]
我有 index.php?id=4 去 /4/。
问题
如果我尝试转到另一个页面,它总是让我回到 index.php。例如,我有一个名为“Update.php”的页面。如果我去 update.php,我会被重定向到 index.php
有什么建议么?
提前致谢,
添加这一行
RewriteCond %{REQUEST_FILENAME} !-f
凌驾于你的统治之上
这仅在文件不存在时重写
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 是否不是真实的文件和文件夹,然后应用该规则,这可以防止在打开现有文件和文件夹时重定向。