1.) Правило Apache:
RewriteRule ^(.*)/(.*).htm$ /inner.php?Categories=$0&Title=$1 [L,QSA]
2.) После конвертации в nginx:
rewrite ^/(.*)/(.*).htm$ /inner.php?Categories=$0&Title=$1 break;
Вопрос: когда пользователь получает доступ к этой странице http://example.com/category.htm и попытался щелкнуть внутри страниц, значит, он должен быть перенаправлен на http://example.com/category/innerpagetitle.htm/
Как добиться в nginx?
Я предпочитаю реализовать их, используя location
блоки.
location ~ ^/(.+)/(.+)\.htm$ {
try_files $uri $uri/ /inner.php?Categories=$1&Title=$2;
}
Я также изменился с .*
(0 совпадений или больше) на .+
(1 совпадение или более), чтобы избежать возможного неопределенного поведения сценария PHP.
В nginx переменные возвращаются начиная с $1
так что это должно работать:
rewrite ^/(.*)/(.*).htm$ /inner.php?Categories=$1&Title=$2 break;