apache .htaccess редирект - чистый URL

Я работаю над сценарием перенаправления php, который 302 перенаправляет посетителей на другие сайты, когда они получают доступ к URL перенаправления.

Сценарий получает переменную (id) из URL, а затем перенаправляет посетителя на определенную страницу.

Структура URL: example.com/redirect/index.php?id=test

В настоящий момент все перенаправления работают, если я использую "некрасивые" URL-адреса, но я хочу удалить всю ненужную информацию из URL-адреса с помощью.htaccess перезаписей для лучшего удобства использования.

Какие правила переписывания.htaccess мне нужны, чтобы приведенные выше URL выглядели так: example.com/redirect/test

В настоящее время я использую следующие правила.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>

но они работают только для URL, как example.com/redirect/index.php?id=test, если я попробую example.com/redirect/test, я получу страницу с ошибкой 404.

Было бы полезно знать, что у меня есть 2 файла.htaccess, один в моем корневом каталоге и один в корневом / redirects / каталоге.

С наилучшими пожеланиями!

1 ответ

Попробуй это:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)?/?([^/]+)?/?([^/]+)?/?   [NC]
Другие вопросы по тегам