.htaccess和重写规则404未找到

甲骨文

我对新的.htaccessrewrite rules因此,如果我的问题不相关,请原谅我。

我有以下htaccess代码。

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

如果我访问url就像www.example.com/category/0它的作品。但是,如果我删除页面网址和最后一个斜杠,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]
贾斯汀·欧曼

这是正确的行为。
实际上,以正则表达式表示一个+手段at least one

当您使用([^/]+)它意味着at least one character which is not a slash
您的规则^([^/]+)/([^/]+)/?$表示at least one character which is not a slash / at least one character which is not a slash 可选的斜杠

这就是为什么它仅不适用于第一部分网址的原因。如果您还想处理example.com/category,则需要另一条规则:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章