У меня это в моем htaccess.Модификация переписать с двумя параметрами ignore last
RewriteRule ^author/([A-Za-z0-9-]+)/([0-9]+)/?$ author.php?authorslug=$1&page=$2 [NC,L]
для моего URL работает только тогда, когда оба параметра присутствуют
example.com/author/name-x/1
Однако если второй один нет
example.com/author/name-x
он бросает 404.
Это также относится к моему htaccess.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
Как я могу заставить его работать, даже если второй параметр отсутствует?
Группируйте то, что вы хотите по желанию в скобках, за которым следует знак вопроса: '^ author/([A-Za-z0-9 -] +) (/ ([0-9] +))? $' И изменить '$ 2'' '$ 3'. – bloodyKnuckles