.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]