Как изменить URL-адрес по умолчанию php? - PullRequest
1 голос
/ 21 апреля 2019

Я использую этот код для разбора URL

function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}

print_r(parse_url(curPageURL()));

echo parse_url($url, PHP_URL_PATH);

Это работает, когда URL будет таким:

test.com / index.php / ааа

Возвращает «index.php / aaa», но я не хочу, чтобы index.php был в URL, я хочу, чтобы URL был таким, например:

test.com / ааа

, а затем вернуть «ааа», но это показывает ошибку 404. Как я могу решить мою проблему? я думаю, что я должен что-то изменить в ".htaccess", но если я изменю "index.php" вместо 404 страницы, там нет 404

1 Ответ

1 голос
/ 21 апреля 2019

Возможно, вам потребуется переписать URL. Если у вас есть сервер Apache, в вашем файле .htaccess или в файле определения vhosts, вы можете попробовать это:

RewriteEngine on

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

Он сообщает веб-серверу переписать URL, если вы набираете в браузере что-то, что не является ни каталогом, ни файлом, вместо этого мы запускаем файл index.php.

Переписывает test.com/aaa на test.com/index.php/aaa.

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