【发布时间】:2013-12-02 01:25:33
【问题描述】:
我的 .htaccess 文件中有以下内容,
ErrorDocument 404 /404.php
RewriteEngine on
ErrorDocument 404 /404.php
# Redirect Writeback
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ /user.php?u=$1 [L]
# Redirect Rule
RewriteCond %{THE_REQUEST} \?u=([^&\ ]+)($|\ )
RewriteRule ^ /%1? [L,R=301]
ErrorDocument 404 /404.php
如您所见,如果找不到页面,我会尝试重定向,但 mod_rewrite 阻止它工作,所以我把它放在多个地方,看看它是否有所作为,但它没有。如何修复 404 重定向并且仍然让其他 rewriteruile 正常工作?澄清一下,如果你去jnetscripts.com/multimedia它实际上指向文件jnetscripts.com/user?u=multime。
更新: 好的,我使用以下代码在我的 user.php 文件中修复了这个问题,希望这对遇到同样问题的人有所帮助。
$numrows = mysqli_num_rows($user_query);
if ($numrows < 1) {
header("location: /notfound.php");
}
【问题讨论】:
-
@jacouh 标题不代表问题的状态,所以我回滚了它。对于 OP:我相信您可以随时回答自己的问题,因此我建议您编辑您的更新并将其放入答案中。您可以在一段时间后接受该答案。
-
@Sumurai8,好的。没关系。
标签: file .htaccess redirect http-status-code-404