Прежде чем продолжить с ответом, если я правильно понимаю, вы хотите перенаправить с https://halopredictions.com/blog/german-bundesliga-prepare-to-return-on-9-may
на https://halopredictions.com/blog/index.php?url=german-bundesliga-prepare-to-return-on-9-may
.
Поскольку URL-адреса SEO используются посетителями, мы должны преобразовать их в реальный путь. Ниже приведенного RewriteRule будет достаточно для достижения вышеуказанного условия.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^blog/([A-Za-z0-9-\+]+)/?$ blog/index.php?url=$1 [NC,L,QSA]
Объяснение:
^blog/([A-Za-z0-9-\+]+)/?$
- Эта часть - то, с чего вы хотите переписать. Поскольку ваши URL будут похожи на шаблон https://halopredictions.com/blog/german-bundesliga-prepare-to-return-on-9-may
, нам нужно получить часть URL после blog/
. Я использовал регулярное выражение ([A-Za-z0-9-\+]+)/?
для соответствия части URL, и на него можно ссылаться, используя $1
.
Теперь мы должны использовать $1
в нашем новом URL. Для этого мы написали вторую часть RewriteRule, где вы можете назначить ссылку. blog/index.php?url=$1
- Теперь, как вы и предполагали, мы используем ссылку $1
после index.php?url=
, чтобы она добавлялась к параметру URL Query и приводила к правильному пути.
По Кстати, ^
используется для обозначения начала и $
для конца.