.htaccess and rewrite rule 404 not found -
i'm new on .htaccess
, rewrite rules
. if question not relevant, please forgive me.
i have below htaccess code.
rewriterule ^([^/]+)/([^/]+)/?$ article-list.php?link=$1&page=$2 [l,qsa]
if visit url www.example.com/category/0
works. if strip page url , last slash www.exapmle.com/category
see ugly 404 page.
what wrong htaccess directive?
thanks in advance.
edit: compeletely .htaccess
options +followsymlinks -multiviews rewriteengine on rewritebase / ## if request valid directory rewritecond %{request_filename} -d [or] ## if request valid file rewritecond %{request_filename} -f [or] ## if request valid link rewritecond %{request_filename} -l ## don't rewriterule ^ - [l] rewriterule ^haber/([^/]+)-([^/]+)/?$ article.php?link=$1&i=$2 [l,qsa] rewriterule ^([^/]+)/([^/]+)/?$ article-list.php?link=$1&page=$2 [l,qsa]
this correct behaviour.
actually, in regular expression, +
means at least one
.
when use ([^/]+)
means at least 1 character not slash
.
rule ^([^/]+)/([^/]+)/?$
means at least 1 character not slash
/ at least 1 character not slash
optional slash.
that's why not work first part url. if want handle example.com/category
you'll need rule:
rewriterule ^([^/]+)/?$ article-list.php?link=$1 [l] rewriterule ^([^/]+)/([^/]+)/?$ article-list.php?link=$1&page=$2 [l]
Comments
Post a Comment