Jump to content

Дружественный URL (Friendly URL)


BlackShot

Recommended Posts

Привет,

В моем языке есть такие символы, как «ã», «é», «ç» и т. Д. Я хотел бы заменить их обычными символами, например, «a», «e», «c».

Это сделано для предотвращения "процентного кодирования" (percent-encoding):

https://domain.com/files/file/50-c%C3%B3organi%C3%A7%C3%A3o-jud%C3%A1risp%C3%ADrio/

 

Я нашел это в system > Http> Url (Friendly.php), но я точно не знал, что делать, и правильный ли это файл:

	/**
	 * Convert a value into an "SEO Title" for friendly URLs
	 *
	 * @param	string	$value	Value
	 * @return	string
	 * @note	Many places require an SEO title, so we always need to return something, so when no valid title is available we return a dash
	 */
	public static function seoTitle( $value )
	{
		/* Ensure there are no HTML tags */
		$value = strip_tags( $value );
		
		/* Always lowercase */
		$value = mb_strtolower( $value );

		/* Get rid of newlines/carriage returns as they're not cool in friendly URL titles */
		$value = str_replace( array( "\r\n", "\r", "\n" ), ' ', $value );

		/* Just for readability */
		$value = str_replace( ' ', '-', $value );
		
		/* Disallowed characters which browsers may try to automatically percent-encode */
		$value = str_replace( array( '!', '*', '\'', '(', ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '#', '[', ']', '%', '\\', '"', '<', '>', '^', '{', '}', '|', '.', '`' ), '', $value );
		
		/* Trim */
		$value = preg_replace( '/\-+/', '-', $value );
		$value = trim( $value, '-' );
		$value = trim( $value );
		
		/* Return */
		return $value ?: '-';
	}

 

Edited by BlackShot
Link to comment
Share on other sites

Я тоже нашел это (кажется полезным), но я не уверен, как это реализовать:

https://stackoverflow.com/questions/1017599/how-do-i-remove-accents-from-characters-in-a-php-string

Link to comment
Share on other sites

Плагин имеет настройку добавления символов для транслита.

Seo URL Transliteration.xml

Link to comment
Share on other sites

7 часов назад, BlackShot сказал:

Это сделано для предотвращения "процентного кодирования" (percent-encoding):

https://domain.com/files/file/50-c%C3%B3organi%C3%A7%C3%A3o-jud%C3%A1risp%C3%ADrio/

А разве правильная кодировка на сервере не предотвращает появление "percent-encoding"? Например, utf8.

У меня на сайте вот такие ссылки в браузере встречаются:

/videos/view-41918-040921-गदाधर-भट्ट-गोस्वामी-की-जीवन-कथा-भाग-1-श्री-श्री-बाबा-द्वारा/

 

Edited by Zero108
Link to comment
Share on other sites

4 hours ago, Zero108 said:

Doesn't proper encoding on the server prevent "percent-encoding" from appearing? For example utf8.

On my website, there are such links in the browser:

/videos/view-41918-040921-gadadhara-bhatta-goswami-ki-life-story-part-1-by-sri-sri-baba-by/

 

Да. Но если вы разместите URL-адрес в другом приложении, он будет выглядеть нестабильно. Я хотел этого избежать.

8 hours ago, Respected said:

The plugin has a setting for adding symbols for transliteration.

Seo URL Transliteration.xml 17.37 kB · 0 downloads

Думаю, это именно то, что я искал. Спасибо!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...