OpenLiteSpeed: получить последнюю часть URL как параметр GET с правилами перезаписи
Я хочу получить последнюю часть несуществующего URL, а затем передать его в качестве параметра GET. Пример: http://example.com/store/20 должен загрузить http://example.com/store?id=20
Я использовал следующий ответ из этого: Получить последнюю часть URL в качестве параметра GET
но кажется, что он не работает с OpenLiteSpeed, так как я получаю 404 Not Found.
Я также добавил косую черту в начале шаблона правила cf. https://openlitespeed.org/mediawiki/index.php/Help:Rewrite_Rule_Differences, однако без разницы.
То есть когда я использую
RewriteRule ^/language/(.*)$ index.php? L =$1под виртуальным хостом> переписать, я получаю 404 при доступе к http://example.com/foo/bar/language/de/ где браузер должен загружать http://example.com/foo/bar/index.php?l=de Я включил переписать и перейти по символической ссылке, так что это действительно вызывает головную боль.
1 ответ
Решение
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^language/(.*)$ index.php?l=$1 [QSA]
от
https://example.com/language/en
в
https://example.com/index.php?l=de
Попробуйте этот подход.
С наилучшими пожеланиями,