Переписать запрос GET на вложенный каталог в .htaccess - PullRequest
2 голосов
/ 30 марта 2019

Я хочу иметь возможность переписать простой php GET-запрос в подкаталоге:

http://localhost:8888/test/o/u/?username=jakepunton

Чтобы выглядеть примерно так:

http://localhost:8888/test/o/u/jakepunton/

Попытка

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?u/(.*?)/?$ u/index.php?username=$1 [L]

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

Я посмотрел здесь , и я понятия не имею, на что я смотрю.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 31 марта 2019

Предполагая, что test/o/u/ является реальным каталогом, вы можете использовать эти правила в test/o/u/.htaccess:

RewriteEngine On
RewriteBase /test/o/u/

RewriteCond %{THE_REQUEST} \?username=([^\&\s]+)\s [NC]
RewriteRule ^$ %1? [L,R=301,NE]

RewriteCond %{THE_REQUEST} \?username=([^\&]+)&(edit)[=\s] [NC]
RewriteRule ^$ %1/%2? [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(edit)/?$ index.php?username=$1&$2=true [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?username=$1 [L,QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...