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]