Я пытаюсь создать два RewriteRules, но не могу заставить mod_rewrite играть хорошо..htaccess RewriteRule условные обозначения?
То, что я пытаюсь достичь следующих ...
domain.com/my/friendly/url = domain.com/index.php?a=$1
Это один достаточно простой, но я стараюсь, чтобы проверить наличие ряда (произвольной длины), чтобы затем добавьте в качестве второго параметра запроса.
Например
domain.com/my/friendly/url/100 = domain.com/index.php?a=$1&id=$2
Где $1
является my/friendly/url
и $2
является 100
.
Я пробовал многочисленные шаблоны без успеха. Мой файл .htaccess
остается похожим на этот и не работает.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)(\/[0-9]+)$ index.php?a=$1&id=$2 [L,QSA]
RewriteRule ^(.*)$ index.php?a=$1 [L,QSA]
Работает лакомство! Большое спасибо! –
Я заметил, что 2 RewriteCond нарушали весь код, но я хотел бы понять, почему **, поскольку эти RewriteRule были правильными? – zessx
1. Основной проблемой было регулярное выражение, используемое в первом «RewriteRule» OP. 2. «RewriteCond» применим только к следующему «RewriteRule» не ко всем «RewriteRule». – anubhava