Closed (fixed)
Project:
Nodewords: D6 Meta Tags
Version:
6.x-1.8
Component:
Miscellaneous
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
15 Dec 2009 at 10:47 UTC
Updated:
9 Jan 2010 at 12:50 UTC
Jump to comment: Most recent file
Comments
Comment #1
avpadernoAs reported in the form field description ; a relative URL doesn't start with a domain, and that is why the canonical URL is not being accepted.
Comment #2
chris_bbg888 commentedThanks kiamlaluno,
I attached you a screenshot. I get this error: "Die Canonical URL muss eine relative URL sein.". Which basically means the URL must be relative, whicht it is. And its without the initial /.
So I guess its the Ü, because it let me save the node if I write the url without ü.
Many thanks
Comment #3
avpadernoI am changing the title as it is not true that canonical URL doesn't accept such characters in the domain; the path of a URL is not part of the domain name.
Comment #4
avpadernoThe function used to validate the canonical URL is
validate_url(), which should verify also a relative URL (when the last parameter is set toFALSE). I have to understand if it is the regular expression that the function uses that is not correct, or if the function is not thought to validate relative URLs (even if from the documentation I would understand it should).FYI, the regular expression used from the function for relative URLs is
/^(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})+$/i>/code>.Comment #5
avpadernoAs pointed out from beeradb on IRC, the URL must be encoded, before to pass it to
valid_url(); this is because the accented letters (and over letters) are encoded when they are used in a URL.The validation function needs to first pass the relative URL to
drupal_urlencode(), and pass the result tovalid_url().Many thanks to beeradb for pointing out this.
Comment #6
avpadernoI changed the code as I reported in my previous comment. The code has been committed in CVS for the development snapshot.
Thanks for the report; I apologize for not having understood what you meant.
Comment #7
chris_bbg888 commentedkiamlaluno you're very welcome. thanks for your effort, your really fast and I appreciate your work very much.
I'm just a beginner, not always knowing how to describe it right. so the result for me is that I wait for the next version and then its fixed? is that right?
is it a problem that i save a canonical URL now as sicherheit/verschl%2526uuml%3Bsselung instead of sicherheit/verschlüsselung?
is it for a search engine the same? many thanks
Comment #8
avpadernoBrowsers are supposed to encode all the particular characters, which includes the space.
There is no problem, if you manually replace those characters with the encoded value; if you prefer to wait an official release of the module, then that is what you can do waiting for it.
Comment #9
hass commentedDrupal does not support German Sonderzeichen in URLs. You should use path auto with i18n.txt to convert "ü" to "ue" and so on. Drupal also does not support IDN hostnames yet. There are several known issues! Don't try to implement your own way, please. This need to get this solved in Drupal core first... see http://drupal.org/project/issues?text=idn&projects=&status=Open&prioriti... for the related issues.