Перепишите URL в htaccess - PullRequest
       3

Перепишите URL в htaccess

1 голос
/ 09 февраля 2020

Возможно ли .htaccess скрыть подкаталоги в URL после перезаписи? Я могу навсегда скрыть индекс. php в своем URL, но мне трудно работать с более длинными. Это то, чего я пытаюсь достичь.

Таким образом, веб-сайт должен принять / логин URL https://example.com/login?param=abc&paramb=123, и он должен внутренне go до https://example.com/core/auth/login?param=abc&paramb=123, но не отображать этот странно выглядящий URL в браузере. Я хочу, чтобы core/auth/ был похож на индекс. php, который постоянно становится невидимым в адресной строке.

#RewriteRule ^(.*)$ /core/auth/login [R,L]

Ниже мой код.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

#my code here...
#RewriteCond %{REQUEST_URI} /login 
#RewriteRule ^(.*)$ /core/auth/login [R,L]

1 Ответ

0 голосов
/ 09 февраля 2020

/core/auth/login на самом деле не тот URL, который вы должны переписать, так как для его обработки все еще требуется переписать (это не конечная конечная точка). Из ваших существующих директив может показаться, что вы используете path-info в скрипте index.php для передачи запрошенного URL-пути в вашу платформу. например. index.php/core/auth/login. Вместо этого попробуйте что-то вроде следующего:

RewriteEngine On

# Handle requests to "/login"
RewriteRule ^login$ index.php/core/auth/login [L]

# Framework
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Хотя я думаю, что было бы предпочтительнее создать дополнительный маршрут в вашей структуре, чем использовать .htaccess для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...