Nginx: Удаление лишних слэшев в URL

Ранее я удалял лишние слэши, при помощи PHP. Делал так:
		// Удаление лишних слешев
		if (preg_match('/\/{2,}/i', $url))
		{
			$url = preg_replace('/\/{2,}/', '$1/', $url);
		} // End: Удаление лишних слешев

Сегодня, наконец то, дошли руки, чтобы перенести удаление лишних слэшев в конфиг Nginx. Я добавил в server следующий код:
	# Удаление лишних слешев
	if ($request_uri ~ "//") {
		return 301 $uri;
	} # End: Удаление лишних слешев

После чего перечитал конфигурацию, при помощи команды:
nginx -s reload

Теперь код в PHP удаляю, больше он не нужен. Работает Nginx.

Возможно, будет интересно:
- Блог: Nginx: Добавление слеша в конце URL, если его там нет
- Блог: Nginx: Удаление параметров в URL
Автор:  29.05.2024 08:50:47 pm