.htaccess сложное правило перезаписи частично работает - PullRequest
0 голосов
/ 03 октября 2019

Мне нужно переписать URL-адреса на основе запросов.

Из этой структуры URL:

http://example.com/index.php?image=folder/sub-folder/image-name-goes-here

В эту структуру URL:

http://example.com/sub-folder/image-name-goes-here

мне нужно исключить эту часть index.php? Image = папка

до сих пор я получил эти правила путем поиска существующих ответов Stackoverflow

Options -Indexes
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/?(.*?)/?$ /index.php?image=$1 [L]    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?image=([^\&\ ]+)
RewriteRule ^/?index\.php$ /%1? [L,R=301]

Получите этот результат, применив вышеуказанные правила:

http://example.com/folder/sub-folder/image-name-goes-here

В этот момент я потерялся.

1 Ответ

1 голос
/ 03 октября 2019

Вы можете использовать эти правила:

Options -Indexes
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?image=folder/([^\&\ ]+) [NC]
RewriteRule ^index\.php$ /%1? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+/[\w-]+)/?$ index.php?image=folder/$1 [L,QSA]
...