Я пытаюсь переписать это:

https://mywebsite.com/pages/article.html?id=1&title=Title-Goes-Here

в

https://mywebsite.com/pages/article/1/Title-Goes-Here

Использование этого правила перезаписи

RewriteEngine on
RewriteRule ^article/([0-9]+)/([0-9a-zA-Z_-]+)$ article.html?id=$1&title=$2 [NC,L] 

Однако, когда я пробую этот код в https://htaccess.madewithlove.com/ , он дает мне

This rule was not met.

Также пробовал на моем сайте файл htaccess безрезультатно. Я не знаю, где проблема.

answer

из стека

Используя это в htaccess:

RewriteEngine ON
##External redirect in browser rules here....
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{THE_REQUEST} \s/([^/]*)/([^.]*)\.html\?id=([^&]*)&title=(\S+)\s [NC]
RewriteRule ^ /%1/%2/%3/%4? [R=301,L]

##Internal rewrite to html file rules here....
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$  $1/$2.html?id=$3&title=$4 [QSA,NC,L]

и это в article.html сразу после тега открытия заголовка

<base href="/" /> 

Все работает как задумано. Кто-то помог мне с этим кодом :)

Новый участник
cat15ets — новый участник этого сайта. Будьте осторожны, запрашивая разъяснения, комментируя и отвечая. Ознакомьтесь с нашим Кодексом поведения .