.htaccess和rewrite规则404未找到

.htaccess和rewrite规则404未找到,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我是.htaccess和重写规则的新手。 因此,如果我的问题与此无关,请原谅我 我有下面的密码 RewriteRule^([^/]+)/([^/]+)/?$article list.php?link=$1&page=$2[L,QSA] 如果我访问像www.example.com/category/0这样的url,它会工作。 但如果我去掉页面url和最后一个斜杠www.exapmle.com/category,我会看到一个丑陋的404页面 我的htaccess指令有什么问题 提前谢谢 编辑:完全.

我是
.htaccess
重写规则的新手。
因此,如果我的问题与此无关,请原谅我

我有下面的密码

RewriteRule^([^/]+)/([^/]+)/?$article list.php?link=$1&page=$2[L,QSA]

如果我访问像
www.example.com/category/0这样的url,它会工作。
但如果我去掉页面url和最后一个斜杠
www.exapmle.com/category
,我会看到一个丑陋的404页面

我的htaccess指令有什么问题

提前谢谢

编辑:完全
.htaccess

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]

RewriteRule ^haber/([^/]+)-([^/]+)/?$ article.php?link=$1&i=$2 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ article-list.php?link=$1&page=$2 [L,QSA]

这是正确的行为。
实际上,在正则表达式中,
+
表示至少一个

当您使用
([^/]+)
时,它意味着
至少有一个字符不是斜杠

您的规则
^([^/]+)/([^/]+)/?$
表示
至少一个字符不是斜杠
至少一个字符不是斜杠
可选斜杠

这就是为什么它不能只使用第一部分url。 如果您还想处理
example.com/category
,则需要另一条规则:

RewriteRule ^([^/]+)/?$ article-list.php?link=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ article-list.php?link=$1&page=$2 [L]