от запроса к пути в подкаталоге HTACCESS

1

У меня есть https-домен с WordPress, установленный в корневом каталоге. В подкаталоге "/test/" я создал веб-приложение, которое работает с использованием GET; путь такой:

https://www.example.com/test/file.php?url=urlname&etc=etc

Мне нужно преобразовать его в:

https://www.example.com/test/urlname/?etc=etc

Мне также нужно перенаправить от первого типа url ко второму.

Это первый раз, когда мне нужно отредактировать файл htaccess, и после поиска в Интернете я пробовал этот код

RewriteRule ^/?test/([^/]+)/$ test/file.php?url=$1&%{QUERY_STRING} [L,QSA]
RewriteCond %{REQUEST_URI}  ^/test/file\.php$
RewriteCond %{QUERY_STRING} ^url=(.*)$
RewriteRule ^/?test/file\.php$ /test/%1/?%{QUERY_STRING}  [L,R=301]

но он, очевидно, не работает. Кто-нибудь может мне помочь?

Теги:
.htaccess
mod-rewrite

1 ответ

1
Лучший ответ

Этот код можно использовать в файле DOCUMENT_ROOT/.htaccess:

RewriteEngine On
RewriteBase /

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /test/file\.php\?url=([^\s&]+)(?:&(\S*))?\s [NC]
RewriteRule ^ /test/%1?%2 [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^test/([^/]+)/?$ test/file.php?url=$1 [L,QSA,NC]
  • 1
    Это работает, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню