4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: Chris on March 14, 2005, 04:17:30 PM
-
There is some speculation as to whether or not a search engine will crawl pages that have a URL with a query string:categories.php?cat_id=12&page=2
The webmaster documentation for some search engines suggests their crawlers will not crawl pages with these types of URLs as they may represent and INFINITE URL space. Frankly, Google has ALWAYS crawled all of my web pages with these URLs with no problems. My opinion is that it is the session id in a query string that may influence the crawler.
The following was recovered from search engine cache and restored by me. I did not write this mod
This mod will convert your 4images URLs into shorter URLs and remove the query string. This mod requires an Apache compatible web server.
Step 1
Open /includes/sessions.php
Find:
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
Replace with:
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', './', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
Step 2
Create a new file named .htaccess (note the leading period that starts the file name) or edit your existing .htaccess file in the root level of your 4images installation. Place the following lines inside that file:
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
If for some reason it doesnt work for u, make sure that mod_rewrite is installed on your server and that the vdomain/dir of yours has permissions to use it (contact your hoster if u are not sure).
If it still doesnt work, try to uncomment:
#RewriteBase /
and replace / with the path to 4image root dir in your address bar.
(for example if your gallery address is: www.example.com/pix/
then u should add:
RewriteBase /pix/
Revision History:
- Restored sessions.php mod code from search engine cached page
-
Thank you!
But is it all?
As far as I remember, there must be some additional code in 4images.
May be for getting QUERY_STRING
?
-
That's it.
-
No, there's more.
I remember changing something sessions.php
-
Yeah, I came across it while digging through search engine cached pages. I've updated the original post
-
a situpid question :?
i made all the changes, but how can i see that it is working?
-
a situpid question :?
i made all the changes, but how can i see that it is working?
just visit your site and see what kind of URLs it shows
-
Thanks for making the change chris, appreciate it... This is for version 1.7.1 right?
-
worked "right out the box" ... thanks
using with 4images 1.7
-
This is for version 1.7.1 right?
originaly it was made before v1.7.1 even planned to be released ;)
but it should work with v1.7.1 as well.
-
if the links look like this
http://www.website.com/galerie/details.php?image_id=48&sessionid=0e5c89cf1ac5434bb45223b0e62dc28c
it doesn´t work
and if ithey look like this
http://www.website.com/details.php?image_id=8
it works.
is this right?
-
if the links look like this
http://www.website.com/galerie/details.php?image_id=48&sessionid=0e5c89cf1ac5434bb45223b0e62dc28c
it doesn´t work
and if ithey look like this
http://www.website.com/details.php?image_id=8
it works.
is this right?
Not quite. Those 2 URLs you have there are the same. The one on top just has a sessionid.
It should look like this:
http://www.website.com/img8.htm (assuming you havn't made any changes to your .htaccess file)
-
could you pleass update it to 1.7.1 ?
it's dont work with it
-
i fix it
it only need '}' at the end of the code
-
Can anyone make it, so it's able to convert those "template" pages to html files as well?
I mean:
Let's say you have this MOD running perfectly, but you also has extra pages that's not originally "in the software" like, if you have a page named "Privacy Policy" or whatever, you can get 4images to make a page, that runs on the index.php. It will look something like this: http://www.site.com/index.php?template=privacy
Now, what I want, is to get it to look like: http://www.site.com/privacy.html
Is this possible? I bet it is... Vano, a little help? ;)
-
its very easy ;)
here is a specific for privacy.html:RewriteRule ^privacy\.html$ index.php?template=privacy&%{QUERY_STRING}
and here is "general" that would translate every .html file into index.php?template=<name>
add it at the very end of .htaccess:
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
so it should "translate" blah.html into index.php?template=blah
-
I should've seen that one coming :)
anyway, thanks - i'll try it out when I get around to it.
-
does mod rewrite change the files on the server?
or are the *.htm files only temporary created? i´m afraid of destroying my files with this mod
-
mod rewrite does not change the files, all it does it make the server handle the requests differently.
I can not say for sure what would happend if u have index.html file and with mod rewrite it would "translate" index.html into index.php
I havent test it myself yet ;)
P.S. its a good question though.
[edit] checked and mod_rewrite overule the existing files...meaing index.html file can not be accessed if mod_rewrite "translate" index.html into index.php
-
Hi
is it true for second page
RewriteRule ^hatunlar([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
because when i put like this i am getting error like
http://www.website.com/.htmhtm=31?page=2
what is problem???
my session.php is
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'hatunlar'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'hatunlar'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'hatunlar.htm', $url);
}
-
Hi
is it true for second page
RewriteRule ^hatunlar([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
because when i put like this i am getting error like
http://www.website.com/.htmhtm=31?page=2
the question is: did it work BEFORE u changed the original code of this "mod"? (I'm talking about the code posted on first page)
-
no i changed to original code posted first page in this subject.it did not work..
still they like
http://www.website.com/.htmhtm=379?page=2
but there is no problem first page of category
http://www.website..com/cat379.htm
-
Forbidden
You don't have permission to access / on this server.
Apache/1.3.33 Server at www... Port 80
:(
:?:
-
Forbidden
You don't have permission to access / on this server.
Apache/1.3.33 Server at www.fotomir.de Port 80
:(
:?:
too bad
-
Thanks for this great mod.
It`s working smoothly.
Now the time of waiting-for-the-google-bot hat startet again :mrgreen:
-
It is possible to change cat#.htm and img#.htm to their name instead?
Example: if the name for "cat1.htm" is say Family Pictures, is there a way to change it to FamilyPictures.htm?
-
It is possible to change cat#.htm and img#.htm to their name instead?
Example: if the name for "cat1.htm" is say Family Pictures, is there a way to change it to FamilyPictures.htm?
no, its not. As I tryed explained several times before the hack, 4images is based on IDs (category id, image id, user id, etc) and names could be the same for each item, there for if it happend that u have two category with the same name, which category would u show?
-
Forbidden
You don't have permission to access / on this server.
Apache/1.3.33 Server at www.fotomir.de Port 80
:(
:?:
too bad
what can i doo?
-
what can i doo?
u could start by explaining what is the problem and how/when it accures.
-
i got a error
homepage not available!
why this happen?
sincerly
vincent
-
According to phpinfo from your page, your server is running IIS webserver which does not support .htaccess files, therefore this mod will not work for u.
-
I have the MOD working fine, but it still uses session id in the url.
EX:
I have an URL like this:
www.site.com/img1.htm?sessionid=3234235345345345345
How do I force 4images NOT to use session id's? I want to remove it, because search engines can't spider a site using session id.
Thanks.
-
How do I force 4images NOT to use session id's? I want to remove it, because search engines can't spider a site using session id.
4images is based on sessions, removing them might break 4images. also, most of modern search engines spiders dont care about sessionid, they ignoring them, so, u dont have to worry about it.
-
V@no
it seems you konw everithing!
thanks for the info
vincent
-
Well, not exactly. Google has problems working around it.
The thing I don't understand, is I've never had this problem before. Why does it suddenly generate sessionid's on internal html links? Havn't experienced that before...
But nevermind messing something up, how do I remove those session id's?
-
I'd appreciate a solution to this...
Thanks!
-
Apparently it automatically adds the session id to every dynamic URL I have on my page.
Like, for instance:
I have a link script, which looks something like this: partners.php?type=out&id=2
4images automatically adds partners.php?type=out&id=2&sessionid=234825374165374blablablabla
This is bad. Can anyone pleeeeease help??
Thanks a lot!
Lasse
-
I like change my URL similar to v@no gallery
www.example.com/xx and xx= image id.
Please help me to understand this
-
Hi Chris,
I have a problem with the rewrite. If we use our search we get results ok, but when I click on a search pictures I get like:
http://www.hickerphoto.com/pictures_4396.search.html
How can I get rid of the .search.
the right output should be:
http://www.hickerphoto.com/pictures_4396.html
Can you help me there?? I get penalized by google for duplicated content - makes sense, they are both the same pictures
appreciate your help
thanks
-
replace:
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
with: $url = str_replace('details.php', 'img'.$matches1[1].(($matches2[1] != "search") ? '.'.$matches2[1] : "").'.htm', $url);
but I must warn u, u will loose feature that displays previous/next image from the search result in the image details page.
-
where??
in the search.php or htaccess
thanks again
-
ah, c'mon! think! ;)
open the first page and search for the line I mentioned...
*cough* sessions.php *cough*
-
or another alternative replace in search.php:
show_image($image_row, "search");
with: show_image($image_row);
(I think this is better ;))
-
Hi,
I used your tip with the search.php
it works!
thank you so much
you are gold!!!
-
Hi every one I'm trying to install this MOD But i'm having some problems
Not Found
The requested URL /home/ascanio/public_html/details.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.33 Server at 69.56.196.226 Port 80
I have read all the post but i'm not very familiar with the .htaccess can anybody help me?
-
try to play with RewriteBase setting (read the original post)
-
Hallo V@no,
on this thread you say, session Id removing will destroy 4images, and on thsi thread you say it works:
http://www.4homepages.de/forum/index.php?topic=6951.msg30709#msg30709
What´s right now? Can I remove session IDs and make short URLs ?
Best regards,
Daniel
-
these are two different session ids we were talking about. The one from the topic u showed is what PHP automaticaly add to every link on the page and the session id that 4images adds is something that 4images required to work properly.
-
Thanks,
so there is no possibility to get rid of the session ids of 4images? will google index the pages anyway ? Any experiences about that ?
Regards,
Daniel
-
no, yes and yes (for all three your questions ;))
-
when navifating through your site, I´ve seen that you have even cooler URLs...
instead of
http://gallery.vano.org/en/11991.htm
you have
http://gallery.vano.org/en/11991
How is this done?
Also the language URL is done in cool style ...
Will the mod do that also like in your site?
Regards, and thanks.
Daniel
-
sorry, that method would require alot more changes in many .php files and require very complex .htaccess
but u could try remove .htm from sessions.php and adjust .htaccess
-
Hello again,
could you tell me please how I can have:
http.//www.nospam.com/fr/top.php
http.//www.nospam.com/es/top.php
instead of:
http://www.nospam.com/top.php?l=french
http://www.nospam.com/top.php?l=spanish
Thankyou
Daniel
-
that what I was trying to explain in my previous reply...
-
Sorry,
I have no idea how to manage to change the language-URLs... :cry:
regards,
Daniel
-
first.. this is a great and effectiv mod ;)
thx chris
i have a question about the Rewrite thing:
for viewing pictures i use the show_img.php:
RewriteRule ^([0-9]+)\/([0-9]+)\/image([0-9]+)\.jpg$ show_img.php?id=$3&time=$1&secureid=$2&%{QUERY_STRING}
RewriteRule ^([0-9]+)\/([0-9]+)\/img([0-9]+)\.htm$ details.php?id=$3&time=$1&secureid=$2&%{QUERY_STRING}
example: http://www.domain.de/1234567/1234567/image123.jpg
works perfectly.. but if show_img.php redirect the user too details.php http://www.domain.de/1234567/1234567/image123.htm
apache load details.php with the wrong path-variable: /1234567/1234567/details.php?...
instead of /details.php?... so no template image could be found.
any ideas how to fix this?
regards, and thanks.
-
that's a tricky part using virtual directories ;) took me probably a week to figure that one out...
try add at the end of .htaccess:
RewriteRule ^([0-9]+)\/([0-9]+)\/(.*)$ $3?time=$1&secureid=$2&%{QUERY_STRING}
-
I am having problems with the sessions during search as I use the Invision mod and I was wondering if the mod-rewrite could effect that problem in any way?
-
anything is possible...
-
LOL
Back to trial and error huh?
Let me rephrase....the mod-rewrite, how does it effect the sessions if at all? Does it remove the need for it, alter it, or not at all?
-
mod-rewrite does not affect sessions in any way. But because your 4images is integrated with IPB, the sessions.php most probably was changed and this mod might need to be adjusted as well.
-
I was afraid you would say something like that.....Anyone know of a skilled programmer willing to do some work for payment? I have some modifications I would like to see done and I could use a good coder to help me out.
-
edited
-
mod rewrite is not supported on your server?
-
thankyou V@no
-
I was wondering if anyone had an idea how to implement keyword specifil urls? While catagory2.htm\product3.htm helps the search engines spider the site it doesnt take SEO into mind. Keyword spedific urls while not proven, have been clearly noted as having a SE advantage. www.widgets.com/bluewidgets/trianglewidget.htm statistacally will get better PR than say www.widgets.com/prodx.htm
anyone know to implement that in the code?
-
Unfortunately mod_rewrite ist not available by all providers. Strato, a well known german webhoster does not provide mod_rewrite for shared hosting.
-
thank you for this mod who works perfectly.
Is there a solution to have the name of the category / picture in the url? so that it cams to something like that : img447-IMAGE_NAME.htm ???
-
no and it was explaind why many times already ;)
-
Is there a way to get the members profile as short urls as well?
For example:
http://www.yoursite.com/member.php?action=showprofile&user_id=1
to
http://www.yoursite.com/Profile1.html
or even better, put the members name like this
http://www.yoursite.com/Profile_Admin.html
-
Is there a way to get the members profile as short urls as well?
For example:
http://www.yoursite.com/member.php?action=showprofile&user_id=1
to
http://www.yoursite.com/Profile1.html
Für einen "manuellen" aufruf reicht ein
Add. to .htaccess
RewriteRule ^profile([0-9]+)\.htm$ member.php?action=showprofile&user_id=$1&%{QUERY_STRING}
Lain
-
Nun hätt ich aber auch noch eine frage.
For example:
V@no
cookies off:
http://gallery.vano.org/en/12027?sessionid=223c17ba0b46b8c145e89a4fb32a589b OK
cookies on:
http://gallery.vano.org/en/12027 OK
Me:
cookies off:
http://localhost/1 --- hmmm ? why. wo ist die sessionid ?
cookies on:
http://localhost/1 OK
kann mir da jemand nen tip geben woran das liegt ? ich denke doch das dies an diesem MOD liegt.
Mfg
Lain
-
Is there a way to get the members profile as short urls as well?
For example:
http://www.yoursite.com/member.php?action=showprofile&user_id=1
to
http://www.yoursite.com/Profile1.html
thanks, i got that part, the problem is that i want the entire site to recognize this.
Für einen "manuellen" aufruf reicht ein
Add. to .htaccess
RewriteRule ^profile([0-9]+)\.htm$ member.php?action=showprofile&user_id=$1&%{QUERY_STRING}
Lain
-
Exclellent mod, but I had a queston..
is there anyway to change it to make it where the category is actually in the URL?
like instead of gallery.com/cat5.htm
it can become gallery.com/name-of-category.htm
that'd be sweet and be nice for websites in terms of hits from search engines, eh?
with my luck, its probably impossible to do.. lol
EDIT: i also like in this script how if someone visits the previous URL format (cat=5?id=129), it'll still re-direct them to that image, or whatever, NICE SCRIPT!
-
Exclellent mod, but I had a queston..
is there anyway to change it to make it where the category is actually in the URL?
like instead of gallery.com/cat5.htm
it can become gallery.com/name-of-category.htm
that'd be sweet and be nice for websites in terms of hits from search engines, eh?
with my luck, its probably impossible to do.. lol
EDIT: i also like in this script how if someone visits the previous URL format (cat=5?id=129), it'll still re-direct them to that image, or whatever, NICE SCRIPT!
Look, I don't know how many times people have asked this question (maybe you should read this entire thread, again?), but it is still not possible.
And regarding SE's. That really has nothing to do with it. If you know how to optimize properly, both internal and external, you're set. No need for the actual link to be the name of your desired category, trust me on this on.
-
If I create this in my htaccess
RewriteRule ^profile([0-9]+)\.htm$ member.php?action=showprofile&user_id=$1&%{QUERY_STRING}
how can i manipulate my sessions.php so my entire site will recognize this and change it accordingly, as it was initially done by V@no with the categories, details, etc.
Also, I have the wonderful mod called Private Messaging (newest version) and would like to set the htacesss/sessions.php accordingly too. any ideas?
-
Hello,
The search engine friendly URL works fine on my site.
If i look how Google works, i see that if you type a search term, like "coloring", the first sites given by google are very often the ones that have the word "coloring" in the title of the page, and in the url.
Concerning the title, i installed a mod from 4images that gives the desired title with the word "coloring" on every page.
But for the url : they are short now, but there i am missing the word "coloring".
"Coloring" is the main keyword for my site, most visitors coming from search engines searched using that word ( along with other words ).
So my question is:
Should there be a way to "insert" the major keyword in the url ?
Maybe an adjustment in the rewrite mod ?
I think this would give a positive effect on the ranking in search engines.
Thx
-
.htaccess is not working with windows-Server - is this information correct?!
if it is correct how could i do something like this Mod?
sincerly
vincent
-
everything is working with me the only problem is that i've also added the User Private's link.
With this mod I had to edit my root .htaccess i've added:
<files *>
Options MultiViews
</files>
So when I try to put this mod in the file, either one mod works and the other fails or vice-versa.
i've tryed to add your piece of code in the beggining, end, middle and no success.
can someone help me?
-
this was my question :
Hello,
The search engine friendly URL works fine on my site.
If i look how Google works, i see that if you type a search term, like "coloring", the first sites given by google are very often the ones that have the word "coloring" in the title of the page, and in the url.
Concerning the title, i installed a mod from 4images that gives the desired title with the word "coloring" on every page.
But for the url : they are short now, but there i am missing the word "coloring".
"Coloring" is the main keyword for my site, most visitors coming from search engines searched using that word ( along with other words ).
So my question is:
Should there be a way to "insert" the major keyword in the url ?
So :
http://www.edupics.com/cat167.htm
would become
http://www.edupics.com/coloring/cat167.htm
or
http://www.edupics.com/img1104.htm
would become
http://www.edupics.com/coloring/img1104.htm
Maybe an adjustment in the rewrite mod ?
I think this would give a positive effect on the ranking in search engines.
Thx
i found the solution myself.
on my dutch site, "kleurplaten" is the major keyword.
so i have all the words "cat" in the url being replaced by "kleurplaten"
so the adress
http://www.schoolplaten.com/cat179.htm
becomes
http://www.schoolplaten.com/kleurplaten179.htm
The keyword is now in the url.
how i did it :
i changed .htaccess
this
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
into this
RewriteRule ^kleurplaten\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^kleurplaten([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^kleurplaten([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
and i changed sessions.php
this
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
into this :
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'kleurplaten'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'kleurplaten'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'kleurplaten.htm', $url);
}
}
so basicly i just replaced "cat" by "kleurplaten" in these places.
-
everything is working with me the only problem is that i've also added the User Private's link.
what exactly Multiviews has to do with "Private link" ?
-
Sorry i have some general questions :?:
1. Where could i find the .htaccess file? i can't find it in the root directory? Is it like a hiden file or something like that?
2. Does it work with windows apache server?
3. How could i make changings in that file? Do i need some special applications?
Thanks for answering.
-
1) on some server it is hidden. also it might not exist.
2) yes
3) notepad ;)
-
I want to use Rewrite on the upload feature as well.
Therefor I have entered this into .htaccess:
RewriteRule ^catupload([0-9]+)\.html$ member.php?action=uploadform&cat_id=$1&%{QUERY_STRING}
But it doesn't work. Why not?
Thanks
-
how many times I must repeat this question:
it doesnt work HOW?
-
Does it matter "how" it doesn't work?
It just shows the main page.
-
I took the example of one of the previous posters, whom wanted to rewrite the profile of his users to static links.
Then, I just tried to make it fit the upload section of the member.php file.
Note: I havn't changed anything in sessions.php
Anyway, I would think that I would be redirected to the upload page by entering the following URL:
www.mysite.com/catupload1.html - but it doesn't. INstead, it just shows the frontpage
Any idea how to fix this?
-
Anyway, I would think that I would be redirected to the upload page by entering the following URL:
www.mysite.com/catupload1.html - but it doesn't. INstead, it just shows the frontpage
very well. would u show the line(s) you've added into .htaccess? actualy the whole .htaccess would be better ;) (pm me if u dont want to show it in public)
-
Sure, I can show it here, np:
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.html$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.html$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.html$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.html$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.html$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.html$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.html$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^pic([0-9]+)\.html$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^pic([0-9]+)\.([a-zA-Z0-9]+)\.html$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.html$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.html$ postcards.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^catupload([0-9]+)\.html$ member.php?action=uploadform&cat_id=$1&%{QUERY_STRING}
# End search engine friendly links code
Actually, that's it. 8)
-
I see no problem with the code and it worked on my site (tested it).
can u show a link to your site?
-
I see no problem with the code and it worked on my site (tested it).
can u show a link to your site?
Nevermind buddy, suddenly it just started working. Very strange :roll:
Nevertheless, appreciate your assistance on this matter.
-
everything is working with me the only problem is that i've also added the User Private's link.
what exactly Multiviews has to do with "Private link" ?
exactly V@no. It has nothing to do with it. Thats the problem. Ive installed the "Private URL to members profile" MOD. With this mode I have to write the multiviews thing on my htaccess. And when I try to install this google MOD none of the mods work, cause of the htaccess file. Both mods ask for htaccess edit.
-
Ive installed the "Private URL to members profile" MOD. With this mode I have to write the multiviews thing on my htaccess.
Why? where did u get the code?
-
Ive installed the "Private URL to members profile" MOD. With this mode I have to write the multiviews thing on my htaccess.
Why? where did u get the code?
it's here http://www.4homepages.de/forum/index.php?topic=7938.0
my htaccess has the multiviews code in it, and when i paste the google MOD code and try, none of the MODS work. Do you think they are non compatible?
-
there you go:
instead of the multiviews thing use this:
RewriteRule ^who\/.+$ who.php
-
working. thanks again masta :D
-
Dunno if you guys have seen this, but it might be worth a look. It's in addition to this MOD:
http://www.4homepages.de/forum/index.php?topic=8940
-
Hi!
I integrated this MOD. I paste the written code into session.php and created a .htaccess file with the posted code.
I receive adresses like this:
http://www.industrie-gravuren.de/galerie/img140.htm
But my pics are not shown. instead of the pic i become an 404 htm error :?: :(
Do you have a idea.
My hoster is hosteurope. i think that mod rewrite option is enabled.
Attention: My Site is actually set to the original code before including this MOD.
-
try to get access to the error log files, if it says that img140.htm not found, then mod_rewrite is not enabled.
if it sais that details.php can not be found, then you will need to play with RewriteBase / in .htaccess
-
Thanks v@no! I think it is working now.
i got urls like this format: www.industrie-gravuren.de/galerie/img370.htm
Please could you have a look on my site?
1. Is this right that there could not be integrated the image name or cat id instead of for example img370.htm ?
2. i would like to change the url format of my other template pages like it is posted at the bottom of the first page of this thread.
You answered at the top of the second page of this thread to implement a code.
But it is not working for me.
i would like to see www.industrie-gravuren.de/galerie/hilfe_faq.htm
instead of : www.industrie-gravuren.de/galerie/index.php?template=hilfe_faq
Would be kind if you could explain me more specific what i have to change in the .htaccess file :oops: :oops: :oops:
-
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
-
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
Actually, I was thinking the same thing... In theory, it should be doable, but I doubt you can get someone to do it...
-
Hello ,
i have a question that i have been asking for about 1 year and still couldnt get the code for it , its about the category paging issue
when we apply the friendly link mode evrything work perfect except 1 thing wich is the category paging .
the paging is like this : 1 2 » Last page »
the link on 2 is : 4images/cat54.htm?page=2 and this is dynamic it should be something like this : 4images/cat54_2.htm
can anyone help with this plz ?
also i added this :
RewriteRule ^profile([0-9]+)\.htm$ member.php?action=showprofile&user_id=$1&%{QUERY_STRING}
i dident work , do i have 2 edit some php code for this 2 work ?
-
the link on 2 is : 4images/cat54.htm?page=2 and this is dynamic it should be something like this : 4images/cat54_2.htm
Another great question! I'd like to know as well! :mrgreen:
-
that's because 4images parses the link for paging class before it calls the class, then during generating the paging, it simply add page=NN to the url query.
So, if you want it replace url with this mod, you will need find every instances where paging.php is being used, remove parsing the url through $site_sess->url() function and then fix paging.php class to parse every url it created through $site_sess->url() function. I think its a messy process...
-
This issue should really be fixed , just having the category short link is not enough for search engine , even the paging should be friendly link .
-
Hello,
as my post may be overread, and i think it is important for us all, here again:
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
-
Hello,
as my post may be overread, and i think it is important for us all, here again:
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
yess it is a great...
our admin will creat it i am sure :wink:
admin please creat it.. this will be a great mod.
Please create it
-
.htaccess is a folder you have to create , ok , in the rootlevel..... Where is this and what is root level ? can somebody explain please...will be very greatfull :)
-
-the root folder is the folder where you have installed the 4images files into.
- .htaccess is not a folder it is a file
- do not forget the dot in front of it
- sometimes the file is hidden or you have to create one
-
.will be very greatfull :wink:
-
that's because 4images parses the link for paging class before it calls the class, then during generating the paging, it simply add page=NN to the url query.
So, if you want it replace url with this mod, you will need find every instances where paging.php is being used, remove parsing the url through $site_sess->url() function and then fix paging.php class to parse every url it created through $site_sess->url() function. I think its a messy process...
can u give an example?
can you :wink:
-
Great idea!
How can we do that?
My idea:
Category: mysite.com/ID-category_name.htm
Details: mysite.com/ID-category_name-imgID.htm
Thanks for helping!
Cheers,
Markus
Hello,
as my post may be overread, and i think it is important for us all, here again:
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
-
How can we do that?
please help :oops:
-
Please, can somebody help us?
Thanks!
Markus
-
Hello, this mod is working for me..... i can have a search engine friendly url.
But with a white page with error 404 , can't fiend page....
what should be the cause and how to find this out ? i think there is something that my server is not accepting, the new url's...maybe it doesn't support this MOD ?
Kindest regards,
Mathew
-
1) made a misstake?
2) provide error logs - then we'll talk ;)
-
Maybe i will get a step closer ... do i have to write the .htaccess in word or another program...? or notepad? ...
i have a .htaccess.txt file !! when i rename it to simply .htaccess the computer will not recognise the format of the file .....
But i have the short url's :) whit blank pages .....
i leave my site with the error on it ....
www.avatarcorner.com
home is working .... click further into categories.... short url but...... :)
Mathew
-
here i have the settings .....
drwxr-xr-x 11 djith psacln 4096 Sep 23 22:47 .
dr-xr-xr-x 12 root apache 4096 Jul 21 01:23 ..
-rw-r--r-- 1 djith psacln 926 Sep 23 22:47 .htaccess :!:
-rw-r--r-- 1 djith psacln 1621 Aug 16 21:01 Readme.txt
drwxr-xr-x 4 djith psacln 4096 Aug 16 21:00 admin
drwxr-xr-x 2 djith psacln 4096 Sep 23 22:45 cache
-rw-r--r-- 1 djith psacln 8698 Sep 7 11:16 categories.php
-rw-r--r-- 1 djith psacln 1831 Aug 16 21:01 config.new.php
-rw-rw-rw- 1 djith psacln 1871 Aug 16 21:07 config.php
drwxr-xr-x 7 djith psacln 4096 Sep 23 17:29 data
drwxr-xr-x 6 djith psacln 4096 Aug 16 20:53 default
-rw-r--r-- 1 djith psacln 27924 Sep 7 11:26 details.php
drwxr-xr-x 2 djith psacln 4096 Aug 16 20:59 docs
-rw-r--r-- 1 djith psacln 10466 Aug 16 21:01 download.php
drwxr-xr-x 2 djith psacln 4096 Aug 21 11:16 flag
-rw-r--r-- 1 djith psacln 11991 Aug 16 21:01 global.php
drwxr-xr-x 2 djith psacln 4096 Sep 23 20:55 includes
-rw-r--r-- 1 djith psacln 8585 Sep 7 11:09 index.php
-rw-r--r-- 1 djith psacln 17248 Aug 16 21:01 install.php
drwxr-xr-x 4 djith psacln 4096 Aug 16 20:55 lang
-rw-r--r-- 1 djith psacln 8144 Sep 7 10:51 lightbox.php
-rw-r--r-- 1 djith psacln 2956 Aug 16 21:01 login.php
-rw-r--r-- 1 djith psacln 2143 Aug 16 21:01 logout.php
-rw-r--r-- 1 djith psacln 59483 Sep 7 10:58 member.php
-rw-r--r-- 1 djith psacln 15474 Sep 7 10:57 postcards.php
-rw-r--r-- 1 djith psacln 16514 Sep 7 10:57 register.php
-rw-r--r-- 1 djith psacln 15907 Sep 7 10:57 search.php
drwxr-xr-x 4 djith psacln 4096 Sep 23 17:30 templates
-rw-r--r-- 1 djith psacln 15002 Sep 7 10:57 top.php
-rw-r--r-- 1 djith psacln 15196 Aug 16 21:01 update_1.0_to_1.5.php
-rw-r--r-- 1 djith psacln 9837 Aug 16 21:00 update_1.5_to_1.6.php
-rw-r--r-- 1 djith psacln 4675 Aug 16 21:00 update_1.6.1_to_1.7.php
-rw-r--r-- 1 djith psacln 9895 Aug 16 21:00 update_RC-1_to_RC-2.php
are those correct, especialy .htaccess ?
Mathew
-
notepad is fine
Make sure that mod_rewrite is enabled on your server
As I said, look at the error logs and if it say something like file cat123.html does not exists
then it means either mod_rewrite is not enabled, your .htaccess is not set properly.or simply .htaccess is being ignored.
-
I try it out, but without success. :cry:
@v@no: Can you help us? :roll:
Thanks!
Markus
Great idea!
How can we do that?
My idea:
Category: mysite.com/ID-category_name.htm
Details: mysite.com/ID-category_name-imgID.htm
Thanks for helping!
Cheers,
Markus
Hello,
as my post may be overread, and i think it is important for us all, here again:
Hello,
I know it has been asked seveal times in this topic before, and also it has been given an answer, but I want to give a suggestion for this...
Question is: Can I change the URL: mysite.com/img123.htm to mysite.com/image_name.htm ?
The answer was: NO, because when 2 images have same name, it won´t work, the 4images is based on unique ID-Numbers.
Ok, here comes my suggestion:
Could we generate URLs like this instead, so we have still the ID, but we´re using the image or cat name in the URL, which helps a lot in SEO :
mysite.com/image_name-ID.htm or
mysite.com/image_name/ID.htm
Regards,
Daniel
-
This is over the line, my webhosting service doesn't allow me to use search engine friendly urls !!!!
i asked them to make an .htaccess file for me and this is the answer i got...
Reason enough to brake up with them and transfer my site to another hosting company!!!
Dear Valued Customer,
Thank you for writing us, we would like to inform you that we dont allow
friendly urls this is not supported other .htaccess that are not supported are
as follows:
AddCharSet
AddEncoding
AddLanguage
AddType
BrowserMatch
BrowserMatchNoCase
CookieTracking
DefaultLanguage
DefaultType
ErrorDocument
ErrorHeader
Header
LanguagePriority
Options
PassEnv
Redirect
RedirectMatch
RedirectPermanent
RedirectTemporary
SetEnv
SetEnvIf
SetEnvIfNoCase
UnsetEnv
If you want to create .htaccess file you can google for directions and how to
procedures but make sure that the kind of file your going to create is not on
the list.
Thank you for contacting our technical support. If you have any further
questions, please reply to this email leaving all text intact, and be sure to
give us a detailed description of how we can further assist you.
Best regards,
Ken
Globat Support
support@globat.com
Web Hosting Made Easy®
www.Globat.com
-
That is very common between host companies. mod_rewrite is a quet "havy" on server resources...cant really blame them for not supporting it...
-
Hi!
1. I enabled mod_rewrite on my localhost
2. I changed my sessions.php
3. I edited my .htaccess
4. I get this error-message
Parse error: parse error, expecting `T_FUNCTION' in -> path to my apache-root-folder \lite\includes\sessions.php on line 536
Line 536 of my sessions.php: define('COOKIE_NAME', '4images_');
Ps: In my .htacces I have allready done - > RewriteBase /lite/
THX
by Flo
-
You've made a misstake in sessions.php
Restore backups and try again.
-
I restored my sessions.php and add the code and became the same error like before :?
I think I have changed something for longer time http://www.vierstra.com/forum/forum-subject.php/t/987 this must have to do with my problem :!: :?: :!: :!:
But, I have comment out this changes...
-
Hi V@no!
I have my site in two languages (more to come :-)) and i am using your code from this thread.
How would i need to change it if i would like to have:
./category1_en.htm instead of ./category1.htm?l=english
???
I'm sure you can help me here.
lapinkulta
-
lets try this:
Replace the code from the original post in sessions.php with this version:/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
$ext = "";
/*
comment out the following lines if you dont want append _<lang> to the filenames. If you do so, you'll need uncomment lines at the end of this function.
*/
if (!empty($l)) {
$ext = "_".$l;
}
/*end commented block*/
$ext .= ".htm";
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].$ext, $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search'.$ext, $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].$ext, $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox'.$ext, $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].$ext, $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches[1].$ext, $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat'.$ext, $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].$ext, $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches[1].$ext, $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].$ext, $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
/*
uncomment the following lines if you want append ?l=<lang>
*/
/*
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
*/
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
Then in .htaccess replace the code with the folowing:# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ lightbox.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^search(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ search.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)?(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ categories.php?cat_id=$1&page=$3&l=$5&%{QUERY_STRING}
RewriteRule ^img([0-9]+)(\.([a-zA-Z0-9]+))?(_([a-zA-Z]+))?\.htm$ details.php?image_id=$1&mode=$3&l=$5&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?postcard_id=$1&l=$3&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?image_id=$1&l=$3&%{QUERY_STRING}
# End search engine friendly links code
Please note, I have not tested it myself and the language name appended to filenames will be the same as the name of your language folders, for example if you have two folders in your /lang/ dir english and deutsch then the filenames will like category1_english.htm or category1_deutsch.htm
If you want it to be shorter, then you'll need to rename your folders ;) (but then dont forget add l=<new name> to the ACP url, otherwise you wont be able get anywhere to update the settings.)
-
Thanks, vano!!!
It is possible to add the name of the category?
Home/Test
category1_test_english.htm
Thanks!
Markus
-
Hi Vano!
Thanks works great.
Only problem is, that links for the standard language are always generated without the appended language.
So cat1.htm instead of cat1_english.htm
Where could I change that so even for the standard language the string is appended (or the filename correctly written).
Thanks,
lapinkulta
-
OK i have changed:
if (!empty($l)) {
$ext = "_".$l;
}
to
if (!empty($l)) {
$ext = "_".$l;
}
if (empty($l)) {
$ext = "_english";
}
to have also "_english" appended for the standard language.
What does NOT work:
For the links to lightbox, search, register, member etc. the language (either standard or other, with or without that change above) is not appended...
Greetings,
lapinkulta
-
*bump*
-
Only problem is, that links for the standard language are always generated without the appended language.
So cat1.htm instead of cat1_english.htm
Where could I change that so even for the standard language the string is appended (or the filename correctly written).
In global.php find:$l = null;
Replace it with:$l = $config['language_dir_default'];
-
Hi @all,
its some months ago, that i have been here on this forum. my webgallery works fine now, thanks to all of you (especially jan and v@no).
But i got a new serious problem. i´ve installes mod rewrite and so i got duplicate content in google, now. the biggest problem seems to be the search.htm.
for example:
www.domain.de/search.htm?search_user=G4
www.domain.de/search.php?search_user=G4
or
http://www.domain.de/img1562.search.htm
http://www.domain.de/img1562.htm
i found this in this thread, does this solve my problem?
or another alternative replace in search.php:
Code:
show_image($image_row, "search");
with:
Code:
show_image($image_row);
(I think this is better Wink)
-
what EXACTLY is the problem?
-
the problem is, that google has always two versions of every page in the index.
www.domain.de/search.htm?search_user=G4
www.domain.de/search.php?search_user=G4
or
http://www.domain.de/img1562.search.htm
http://www.domain.de/img1562.htm
the problem is the duplicate content, because img1562.htm and img1562.search.htm are exactly the same pages. what can i do against it?
-
nothing really...I had the same problem with images that no longer exists, I've tryed send to search engine bots 404 header - nothing, also I had changed my domain and was permanent redirect when access through old domain (header 301 permanent redirect) - 1 year passed, yahoo still using my old domain...they suck!
-
Hi Vano!
I have still problem with the standard links.
cat1_de.htm etc. works fine.
what doesn't work are the links to register, lightbox, search etc.
They should look like "register_de.htm"
but they look like "register.php" now even without the correct language appended.
I understand what you have done to the original code to solve my problem with the §ext variable, but I have no idea why these standard links do not work now.
Greetings,
lapinkulta
-
lightbox? are you sure? register.php is not supported by this code, if you need it, its not that hard to figure it out yourself ;) as of lightbox, I dont know, it should work.
-
Yes, it shows only lightbox.htm without the language appended which comes from this code piece:
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
greetings,
lapinkulta
-
oh, I've missed these two lines (just upadated the post on previous page).
But you can search for 'search.htm' and 'lightbox.htm' and replace them with 'search'.$ext and 'lightbox'.$ext (be carefull with the quotes!)
-
thanks, works great now. :D
-
Hi, i would like to add the image name in the URL like this : www.mydomain.com/img,IMAGE-NAME,id.html
i can do it if i add an argument in the url function like this
function url($url, $amp = "&", $name ) {
...
$url = str_replace('details.php', 'img,'.$name.','.$matches[1].'.html', $url);
}
then in details.php, i put this code for previous image link :
$prev_image_url = $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$prev_image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$prev_image_name);
but, honnestly, its very boring to change every "$site_sess->url()" to add the third argument, so does anyone have an idea please ?
i would like to do the same for categories and search
thanks for help
-
use it like this:
function url($url, $amp = "&", $name = "" ) {
this way the third argument is an optional ;)
-
Hi, i would like to add the image name in the URL like this : www.mydomain.com/img,IMAGE-NAME,id.html
i can do it if i add an argument in the url function like this
function url($url, $amp = "&", $name ) {
...
$url = str_replace('details.php', 'img,'.$name.','.$matches[1].'.html', $url);
}
then in details.php, i put this code for previous image link :
$prev_image_url = $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$prev_image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$prev_image_name);
but, honnestly, its very boring to change every "$site_sess->url()" to add the third argument, so does anyone have an idea please ?
i would like to do the same for categories and search
thanks for help
Nice idea :!:
Can you also post the code for categories?
Thanks a lot!
Cheers,
Markus
-
Thanks V@no :)
Maweryk : i haven't code yet, but it's the same thing.
i'll post a reply as soon as i finish
use it like this:function url($url, $amp = "&", $name = "" ) {
this way the third argument is an optional ;)
-
Hi V@no,
the Mod Short URL you wrote for lapinkulta here:
http://www.4homepages.de/forum/index.php?topic=6729.msg48487#msg48487
works fine for me, but it affects my control-panel.
When I'm trying to search a user or a picture, I get no results when I'm clicking the search-button.
When I restore the session.php. Search function in control panel is O.K. again...
Do you have an idea, why the search in control panel is affected??
edit: BTW The original Short URL Mod works without problems in the Control Panel :|
Matthias
-
I have no clue...I just tryed on a fresh 4images and it worked just fine...
-
Hi V@no,
can you test my session.php on your fresh 4images installation?
I added the session.php as a text-file to this message.
Matthias
-
Seems to work just fine...perhaps something else is interfering...
-
Do you have an idea which file/code could interfere :cry:
With the origianal code of this mod erverthing is O.K. only the enxtension for the language-file causes problems in ACP
Matthias
-
can you pm me with a url / login info so I could test it?
-
Hi V@no,
another problem :oops: with this code
http://www.4homepages.de/forum/index.php?topic=6729.msg48487#msg48487
my category_dropdownfield is messed up
The links in the category dropdownfield are nearly O.K. only the catnumber is missing...
So every link in the category dropdownfield looks like
gpaed.de/bildergalerie/cat_english.htm
instead of
gpaed.de/bildergalerie/cat1_english.htm
Matthias
-
the dropdown should add ?cat_id=1 into the url...
-
the dropdown should add ?cat_id=1 into the url...
Hm, do you know where I can fix it?
Matthias
-
The request seems to be just fine:
http://www.gpaed.de/bildergalerie/cat_english.htm
POST /bildergalerie/cat_english.htm HTTP/1.1
Host: www.gpaed.de
Content-Type: application/x-www-form-urlencoded
Content-Length: 9
cat_id=38
:?
Are you sure it worked fine with the original modification?
-
Are you sure it worked fine with the original modification?
Just tested it with the original code.
Same Problem in category dropdown? Perhabs the Problem is somewhere else :roll:
-
for testing purposes, first open a page where your categories dropdown is, then add this into categories.php
echo "<pre>";
print_r($_POST);
print_r($_GET);
exit;
(above) header("Location: ".$site_sess->url(ROOT_PATH."index.php", "&"));
Then try to use dropdown. it should show you some text on blank page.
-
for testing purposes, first open a page where your categories dropdown is, then add this into categories.php echo "<pre>";
print_r($_POST);
print_r($_GET);
exit;
(above) header("Location: ".$site_sess->url(ROOT_PATH."index.php", "&"));
Then try to use dropdown. it should show you some text on blank page.
The text on the blank page is
Array
(
[cat_id] => 33
)
Array
(
[cat_id] =>
[page] =>
[l] => deutsch
)
-
Ok, lets call it a bug in 4images itself ;)
for now, in global.php find: $cat_id = (isset($HTTP_GET_VARS[URL_CAT_ID])) ? intval($HTTP_GET_VARS[URL_CAT_ID]) : intval($HTTP_POST_VARS[URL_CAT_ID]);
Replace it with: $cat_id = (isset($HTTP_POST_VARS[URL_CAT_ID])) ? intval($HTTP_POST_VARS[URL_CAT_ID]) : intval($HTTP_GET_VARS[URL_CAT_ID]);
I'll publish complete fix in few minutes ;)
-
Hi V@no
The URL ist still without cat_number but the fix works great 8)
Thank you V@no
Matthias
-
its "not possible" add cat_id into the url
-
Hi V@no,
another question :oops:
Just the same question but know in the right mod ;-)
I have aklready the extension of this mod you wrote for lapinkulta
http://www.4homepages.de/forum/index.php?topic=6729.msg48487#msg48487
This is my .htacces file
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ lightbox.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^search(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ search.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)?(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ categories.php?cat_id=$1&page=$3&l=$5&%{QUERY_STRING}
RewriteRule ^img([0-9]+)(\.([a-zA-Z0-9]+))?(_([a-zA-Z]+))?\.htm$ details.php?image_id=$1&mode=$3&l=$5&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?postcard_id=$1&l=$3&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?image_id=$1&l=$3&%{QUERY_STRING}
# End search engine friendly links code
What do I need to change to rewrite
http://www.gpaed.de/bildergalerie/cat35_deutsch.htm?page=2
to something like this
http://www.gpaed.de/bildergalerie/cat35_2_deutsch.htm
and on the home page to rewrite
http://www.gpaed.de/bildergalerie/?l=deutsch
to something like this
http://www.gpaed.de/bildergalerie/index_deutsch.htm
Matthias
-
Is there no solution for my problem above :?:
Matthias
-
@matthias
could you please send (pm) your actual .htaccess file for testing on my site.
Because i have also the same problems with the language tags in the URL.
I am interested how it would work on my site.
Perhaps we find a solution together. :roll:
-
@ V@no
its very easy
here is a specific for privacy.html:
Code:
RewriteRule ^privacy\.html$ index.php?template=privacy&%{QUERY_STRING}and here is "general" that would translate every .html file into index.php?template=<name>
add it at the very end of .htaccess:
Code:
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}so it should "translate" blah.html into index.php?template=blah
sorry i am confused. :?
i would like to "translate" index.php?template=blah into blah.html for all of my menu links you can see on my url .
How must the code look for these?
And also for contact.php, board.php, sitemap.php???
Another strange problem i have still with my category dropdown selection.
It is working in nearley every category except for example the "Skalen", "Formenbau" and "Schilder" category on my URL.
That is strange isn't it?
Could someone help me with this.
I still changed the line like matthias in the global.php. But the mistake still exists.
-
i have on my gallery root file:
.htaccess
.htaccess.txt
wich is true? (on this files i added this code:)
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
and save wtih 2 names, .htaccess and .htaccess.txt (wich is true?) and copy on site.com/gallery/
note: i join from new version of 4images
-
I have on my gallery root file:
.htaccess
.htaccess.txt
wich is true? (on this files i added this code:)
Use only .htaccess
Matthias
-
but nex question:
i not found this source on my sessions.php
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
on my file is this source and i can not replace it, found this!!
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
how i can made replace this code?
-
Please could someone help me with my category dropdown problem i have explained in a few postings above.
Another strange problem i have still with my category dropdown selection.
It is working in nearly every category/subcategory page except for example the "Skalen", "Formenbau" and "Schilder" category on my URL.
That is strange isn't it? On some pages it is working on some it isn't!
Could someone help me with this.
I still changed the line like matthias in the global.php. But the mistake still exists.
Please test it on my site.
-
i not found this source on my sessions.php
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
what is it you are trying to do? there is no such line in the original topic in the first place.
@bibabobu:
"On some pages it is working on some it isn't" - not very usefull to even start looking at the problem ;) And I see no problem on your site with dropdown for the categories mentioned.
-
Dear V@no,
i think since i have installed the new code for search engine friendly URLs and language select my category dropdown field does not work correctly.
Please have a look on my site and test the field in different categories.
Sorry for my bad english i don't find the right words for explaining right at the moment.
For example:
If i go to the main category "Skalen" my category selection field works well. If i want to go to another category right out of this "Skalen" category by using the dropdown category selection field nothing will happen. :(
...so in some categories the field is working and in some won't.
I have no idea where is the mistake :?:
-
I dont think the problem is related to this mod. You have JavaScript errors on your site and since the dropdown menu is using javascript to auto jump to the sellected category it also producing error...The form with category select dropdown on "working" pages and "non working" are identical, but for unknown to me reason this JS error acure:
Error: forms.jumpbox has no properties
-
Dear V@no,
i think since i have installed the new code for search engine friendly URLs and language select my category dropdown field does not work correctly.
Please have a look on my site and test the field in different categories.
Sorry for my bad english i don't find the right words for explaining right at the moment.
For example:
If i go to the main category "Skalen" my category selection field works well. If i want to go to another category right out of this "Skalen" category by using the dropdown category selection field nothing will happen. :(
...so in some categories the field is working and in some won't.
I have no idea where is the mistake :?:
well i have the same problem, when i choose any category and click go it simply goes to the index page!!! when i resorted the orginal code it works like charm? so it seems that maybe i've missed something in code??
note: i use 4images 1.7.1 and i added } as recommend in previous post in order to make it work with 1.7.1 version!!!!!!
the code that i have can be found here!!!
http://www.immsu.com/sessions.phps
please advise!!!
-
@ textaholic
I had the same problem!
try this fix
http://www.4homepages.de/forum/index.php?topic=6729.msg50928#msg50928
@ V@no
Back to another problem in this mod
Do you have a solution on this
This is my .htacces file
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ lightbox.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^search(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ search.php?page=$2&l=$4&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)?(\.([0-9]+))?(_([a-zA-Z]+))?\.htm$ categories.php?cat_id=$1&page=$3&l=$5&%{QUERY_STRING}
RewriteRule ^img([0-9]+)(\.([a-zA-Z0-9]+))?(_([a-zA-Z]+))?\.htm$ details.php?image_id=$1&mode=$3&l=$5&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?postcard_id=$1&l=$3&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)(_([a-zA-Z]+))?\.htm$ postcards.php?image_id=$1&l=$3&%{QUERY_STRING}
# End search engine friendly links code
What do I need to change to rewrite
http://www.gpaed.de/bildergalerie/cat35_deutsch.htm?page=2
to something like this
http://www.gpaed.de/bildergalerie/cat35_2_deutsch.htm
and on the home page to rewrite
http://www.gpaed.de/bildergalerie/?l=deutsch
to something like this
http://www.gpaed.de/bildergalerie/index_deutsch.htm
Matthias
-
this is my sessions.php file on includes:
<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: sessions.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7.1 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
if (!defined('ROOT_PATH')) {
die("Security violation");
}
//-----------------------------------------------------
//--- Start Configuration -----------------------------
//-----------------------------------------------------
define('SESSION_NAME', 'sessionid');
$user_table_fields = array(
"user_id" => "user_id",
"user_level" => "user_level",
"user_name" => "user_name",
"user_password" => "user_password",
"user_email" => "user_email",
"user_showemail" => "user_showemail",
"user_allowemails" => "user_allowemails",
"user_invisible" => "user_invisible",
"user_joindate" => "user_joindate",
"user_activationkey" => "user_activationkey",
"user_lastaction" => "user_lastaction",
"user_location" => "user_location",
"user_lastvisit" => "user_lastvisit",
"user_comments" => "user_comments",
"user_homepage" => "user_homepage",
"user_icq" => "user_icq"
);
//-----------------------------------------------------
//--- End Configuration -------------------------------
//-----------------------------------------------------
function get_user_table_field($add, $user_field) {
global $user_table_fields;
return (!empty($user_table_fields[$user_field])) ? $add.$user_table_fields[$user_field] : "";
}
class Session {
var $session_id;
var $user_ip;
var $user_location;
var $current_time;
var $session_timeout;
var $mode = "get";
var $session_info = array();
var $user_info = array();
function Session() {
global $config;
$this->session_timeout = $config['session_timeout'] * 60;
$this->user_ip = $this->get_user_ip();
$this->user_location = $this->get_user_location();
$this->current_time = time();
// Stop adding SID to URLs
@ini_set('session.use_trans_sid', 0);
session_name(urlencode(SESSION_NAME));
session_start();
$this->demand_session();
}
function set_cookie_data($name, $value, $permanent = 1) {
$cookie_expire = ($permanent) ? $this->current_time + 60 * 60 * 24 * 365 : 0;
$cookie_name = COOKIE_NAME.$name;
setcookie($cookie_name, $value, $cookie_expire, COOKIE_PATH, COOKIE_DOMAIN, COOKIE_SECURE);
}
function read_cookie_data($name) {
global $HTTP_COOKIE_VARS;
$cookie_name = COOKIE_NAME.$name;
return (isset($HTTP_COOKIE_VARS[$cookie_name])) ? $HTTP_COOKIE_VARS[$cookie_name] : false;
}
function get_session_id() {
if (SID == '') {
$this->mode = "cookie";
}
$this->session_id = session_id();
}
function demand_session() {
$this->get_session_id();
if (!$this->load_session_info()) {
$this->delete_old_sessions();
$user_id = ($this->read_cookie_data("userid")) ? intval($this->read_cookie_data("userid")) : GUEST;
$this->start_session($user_id);
}
else {
$this->user_info = $this->load_user_info($this->session_info['session_user_id']);
$update_cutoff = ($this->user_info['user_id'] != GUEST) ? $this->current_time - $this->user_info['user_lastaction'] : $this->current_time - $this->session_info['session_lastaction'];
if ($update_cutoff > 60) {
$this->update_session();
$this->delete_old_sessions();
}
}
}
function start_session($user_id = GUEST, $login_process = 0) {
global $site_db;
$this->user_info = $this->load_user_info($user_id);
if ($this->user_info['user_id'] != GUEST && !$login_process) {
if ($this->read_cookie_data("userpass") === $this->user_info['user_password'] && $this->user_info['user_level'] > USER_AWAITING) {
$this->set_cookie_data("userpass", $this->user_info['user_password']);
}
else {
$this->set_cookie_data("userpass", "", 0);
$this->user_info = $this->load_user_info(GUEST);
}
}
//if (!$login_process) {
$sql = "REPLACE INTO ".SESSIONS_TABLE."
(session_id, session_user_id, session_lastaction, session_location, session_ip)
VALUES
('$this->session_id', ".$this->user_info['user_id'].", $this->current_time, '$this->user_location', '$this->user_ip')";
$site_db->query($sql);
//}
$this->session_info['session_user_id'] = $this->user_info['user_id'];
$this->session_info['session_lastaction'] = $this->current_time;
$this->session_info['session_location'] = $this->user_location;
$this->session_info['session_ip'] = $this->user_ip;
if ($this->user_info['user_id'] != GUEST) {
$this->user_info['user_lastvisit'] = (!empty($this->user_info['user_lastaction'])) ? $this->user_info['user_lastaction'] : $this->current_time;
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_lastaction")." = $this->current_time, ".get_user_table_field("", "user_location")." = '$this->user_location', ".get_user_table_field("", "user_lastvisit")." = ".$this->user_info['user_lastvisit']."
WHERE ".get_user_table_field("", "user_id")." = ".$this->user_info['user_id'];
$site_db->query($sql);
}
$this->set_cookie_data("lastvisit", $this->user_info['user_lastvisit']);
$this->set_cookie_data("userid", $this->user_info['user_id']);
return true;
}
function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1) {
global $site_db, $user_table_fields;
if (empty($user_name) || empty($user_password)) {
return false;
}
$sql = "SELECT ".get_user_table_field("", "user_id").get_user_table_field(", ", "user_password")."
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_name")." = '$user_name' AND ".get_user_table_field("", "user_level")." <> ".USER_AWAITING;
$row = $site_db->query_firstrow($sql);
$user_id = (isset($row[$user_table_fields['user_id']])) ? $row[$user_table_fields['user_id']] : GUEST;
$user_password = md5($user_password);
if ($user_id != GUEST) {
if ($row[$user_table_fields['user_password']] == $user_password) {
$sql = "UPDATE ".SESSIONS_TABLE."
SET session_user_id = $user_id
WHERE session_id = '$this->session_id'";
$site_db->query($sql);
if ($set_auto_login) {
$this->set_cookie_data("userpass", ($auto_login) ? $user_password : "");
}
$this->start_session($user_id, 1);
return true;
}
}
return false;
}
function logout($user_id) {
global $site_db;
$sql = "DELETE FROM ".SESSIONS_TABLE."
WHERE session_id = '$this->session_id' OR session_user_id = $user_id";
$site_db->query($sql);
$this->set_cookie_data("userpass", "", 0);
$this->set_cookie_data("userid", GUEST);
$this->session_info = array();
return true;
}
function delete_old_sessions() {
global $site_db;
$expiry_time = $this->current_time - $this->session_timeout;
$sql = "DELETE FROM ".SESSIONS_TABLE."
WHERE session_lastaction < $expiry_time";
$site_db->query($sql);
return true;
}
function update_session() {
global $site_db;
$sql = "UPDATE ".SESSIONS_TABLE."
SET session_lastaction = $this->current_time, session_location = '$this->user_location'
WHERE session_id = '$this->session_id'";
$site_db->query($sql);
$this->session_info['session_lastaction'] = $this->current_time;
$this->session_info['session_location'] = $this->user_location;
$this->session_info['session_ip'] = $this->user_ip;
if ($this->user_info['user_id'] != GUEST) {
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_lastaction")." = $this->current_time, ".get_user_table_field("", "user_location")." = '$this->user_location'
WHERE ".get_user_table_field("", "user_id")." = ".$this->user_info['user_id'];
$site_db->query($sql);
}
return;
}
function generate_session_id() {
return session_id();
}
function return_session_info() {
return $this->session_info;
}
function return_user_info() {
return $this->user_info;
}
function freeze() {
return;
}
function load_session_info() {
if (@ini_get('register_globals')) {
session_register('__session');
if (!isset($GLOBALS['__session'])) {
$GLOBALS['__session'] = array();
}
$this->session_info = &$GLOBALS['__session'];
} else {
if (isset($_SESSION)) {
if (!isset($_SESSION['__session'])) {
$_SESSION['__session'] = array();
}
$this->session_info = &$_SESSION['__session'];
} else {
if (!isset($GLOBALS['HTTP_SESSION_VARS']['__session'])) {
$GLOBALS['HTTP_SESSION_VARS']['__session'] = array();
}
$this->session_info = &$GLOBALS['HTTP_SESSION_VARS']['__session'];
}
}
if (!isset($this->session_info['session_user_id'])) {
return false;
}
return $this->session_info;
}
function load_user_info($user_id = GUEST) {
global $site_db, $user_table_fields;
if ($user_id != GUEST) {
$sql = "SELECT u.*, l.*
FROM ".USERS_TABLE." u, ".LIGHTBOXES_TABLE." l
WHERE ".get_user_table_field("u.", "user_id")." = $user_id AND l.user_id = ".get_user_table_field("u.", "user_id");
$user_info = $site_db->query_firstrow($sql);
if (!$user_info) {
$sql = "SELECT *
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_id")." = $user_id";
$user_info = $site_db->query_firstrow($sql);
if ($user_info) {
$lightbox_id = get_random_key(LIGHTBOXES_TABLE, "lightbox_id");
$sql = "INSERT INTO ".LIGHTBOXES_TABLE."
(lightbox_id, user_id, lightbox_lastaction, lightbox_image_ids)
VALUES
('$lightbox_id', ".$user_info[$user_table_fields['user_id']].", $this->current_time, '')";
$site_db->query($sql);
$user_info['lightbox_lastaction'] = $this->current_time;
$user_info['lightbox_image_ids'] = "";
}
}
}
if (empty($user_info[$user_table_fields['user_id']])) {
$user_info = array();
$user_info['user_id'] = GUEST;
$user_info['user_level'] = GUEST;
$user_info['user_lastaction'] = $this->current_time;
$user_info['user_lastvisit'] = ($this->read_cookie_data("lastvisit")) ? $this->read_cookie_data("lastvisit") : $this->current_time;
}
foreach ($user_table_fields as $key => $val) {
if (isset($user_info[$val])) {
$user_info[$key] = $user_info[$val];
}
elseif (!isset($user_info[$key])) {
$user_info[$key] = "";
}
}
return $user_info;
}
function set_session_var($var_name, $value) {
$this->session_info[$var_name] = $value;
return true;
}
function get_session_var($var_name) {
if (isset($this->session_info[$var_name])) {
return $this->session_info[$var_name];
}
return '';
}
function drop_session_var($var_name) {
unset($this->session_info[$var_name]);
}
function get_user_ip() {
global $HTTP_SERVER_VARS, $HTTP_ENV_VARS;
$ip = (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ((!empty($HTTP_ENV_VARS['REMOTE_ADDR'])) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv("REMOTE_ADDR"));
$ip = preg_replace("/[^\.0-9]+/", "", $ip);
return substr($ip, 0, 50);
}
function get_user_location() {
global $self_url;
return (defined("IN_CP")) ? "Control Panel" : preg_replace(array("/([?|&])action=[^?|&]*/", "/([?|&])mode=[^?|&]*/", "/([?|&])phpinfo=[^?|&]*/", "/([?|&])printstats=[^?|&]*/", "/[?|&]".URL_ID."=[^?|&]*/", "/[?|&]l=[^?|&]*/", "/[&?]+$/"), array("", "", "", "", "", "", ""), addslashes($self_url));
}
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
} //end of class
//-----------------------------------------------------
//--- Start Session -----------------------------------
//-----------------------------------------------------
define('COOKIE_NAME', '4images_');
define('COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIE_SECURE', '0');
$site_sess = new Session();
// Get Userinfo
$session_info = $site_sess->return_session_info();
$user_info = $site_sess->return_user_info();
//-----------------------------------------------------
//--- Get User Caches ---------------------------------
//-----------------------------------------------------
$num_total_online = 0;
$num_visible_online = 0;
$num_invisible_online = 0;
$num_registered_online = 0;
$num_guests_online = 0;
$user_online_list = "";
$prev_user_ids = array();
$prev_session_ips = array();
if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
$time_out = time() - 300;
$sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible")."
FROM ".SESSIONS_TABLE." s
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
WHERE s.session_lastaction >= $time_out
ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
$result = $site_db->query($sql);
while ($row = $site_db->fetch_array($result)) {
if ($row['session_user_id'] != GUEST && (isset($row['user_id']) && $row['user_id'] != GUEST)) {
if (!isset($prev_user_ids[$row['session_user_id']])) {
$is_invisible = (isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1) ? 1 : 0;
$invisibleuser = ($is_invisible) ? "*" : "";
$username = (isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1) ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']];
if (!$is_invisible || $user_info['user_level'] == ADMIN) {
$user_online_list .= ($user_online_list != "") ? ", " : "";
$user_profile_link = (!empty($url_show_profile)) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&".URL_USER_ID."=".$row['session_user_id'];
$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
}
(!$is_invisible) ? $num_visible_online++ : $num_invisible_online++;
$num_registered_online++;
}
$prev_user_ids[$row['session_user_id']] = 1;
}
else {
if (!isset($prev_session_ips[$row['session_ip']])) {
$num_guests_online++;
}
}
$prev_session_ips[$row['session_ip']] = 1;
}
$num_total_online = $num_registered_online + $num_guests_online;
//$num_invisible_online = $num_registered_online - $num_visible_online;
$site_template->register_vars(array(
"num_total_online" => $num_total_online,
"num_invisible_online" => $num_invisible_online,
"num_registered_online" => $num_registered_online,
"num_guests_online" => $num_guests_online,
"user_online_list" => $user_online_list,
"lang_user_online" => str_replace('{num_total_online}', $num_total_online, $lang['user_online']),
"lang_user_online_detail" => str_replace(array('{num_registered_online}','{num_invisible_online}','{num_guests_online}'), array($num_registered_online,$num_invisible_online,$num_guests_online), $lang['user_online_detail']),
));
$whos_online = $site_template->parse_template("whos_online");
$site_template->register_vars("whos_online", $whos_online);
unset($whos_online);
unset($prev_user_ids);
unset($prev_session_ips);
}
?>
i can not find this line on my sessions.php for replace with new source (why?):
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
-
i can not find this line on my sessions.php for replace with new source (why?):
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
for what? see, the original code has no such line in the instructions, yet you are keep asking same question over and over again without any references to what code you are trying to install/change.
-
how to insert search.php?search_keywords in the url friendly ?
-
how to insert search.php?search_keywords in the url friendly ?
http://www.4homepages.de/forum/index.php?topic=6729.msg30784#msg30784
Gruß
Markus
-
Hi, i would like to add the image name in the URL like this : www.mydomain.com/img,IMAGE-NAME,id.html
i can do it if i add an argument in the url function like this
function url($url, $amp = "&", $name ) {
...
$url = str_replace('details.php', 'img,'.$name.','.$matches[1].'.html', $url);
}
then in details.php, i put this code for previous image link :
$prev_image_url = $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$prev_image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$prev_image_name);
but, honnestly, its very boring to change every "$site_sess->url()" to add the third argument, so does anyone have an idea please ?
i would like to do the same for categories and search
thanks for help
Do you have finished it for categories?
I have no success. :(
I get only category-,,223.htm.
Cheers,
Markus
-
i am not talking about that
i am talking about sessions.php changes
-
how to insert search.php?search_keywords in the url friendly ?
any one please ?
-
Hello,
I have added this great mod, but I have a small understanding problem.
How know a search machine the other language sites?
To change the language, you must klick, on the Banner.
But I have like theses links:
categories.php?cat_id=39&page=&l=english
or the index:
?l=english
Normally the search engine is stopp “?” here.
-
This has been discused here, quiet recently. I see no point repeat the discussion again.
-
@ v@no
sorry, back to my (and txtaholics) category dropdown selection menu problem.
It is still working on some pages and on some pages it will not work. I have not an idea where is the mistake.
I have repaired all IE errors i had on my site but it is still not working on every page onlyon some. (please try on my site)
Even one more question:
I have put this code to my .htaccess file
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
for having this
www.industrie-gravuren.de/galerie/anfahrt.html
instead of this
www.industrie-gravuren.de/galerie/index.php?template=anfahrt
for example.
What i am doing wrong? It is not working for me.
-
Hi,
mit dieser Regel klappt das auf jeden Fall bei mir und mit den Kategorien habe ich auch keine Probleme.
Wie sieht denn Dein ganzes .htaccess File aus und bei welchen Kategorien klappt es nicht?
Gruß
Markus
-
I dont think the problem is related to this mod. You have JavaScript errors on your site and since the dropdown menu is using javascript to auto jump to the sellected category it also producing error...The form with category select dropdown on "working" pages and "non working" are identical, but for unknown to me reason this JS error acure:Error: forms.jumpbox has no properties
Lets do one step at a time: fix the javascript errors, then if the problem remains, we'll continue troubleshoot.
As of your custom template setup, the sign minus ( - ) must be escaped with a backslash:RewriteRule ^([a-zA-Z0-9_\-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
And make sure that this line is the last in .htaccess, otherwise every page you access would be treated as a custom template ;)
-
@ v@no
Thanks v@no.
Lets do one step at a time: fix the javascript errors, then if the problem remains, we'll continue troubleshoot.
How can find or see the javascript errors. I am using IE. In the status line there is no error to see.
Could you please help me to find. Thanks.
-
@ v@no
Thanks v@no.
Lets do one step at a time: fix the javascript errors, then if the problem remains, we'll continue troubleshoot.
How can find or see the javascript errors. I am using IE. In the status line there is no error to see.
Could you please help me to find. Thanks.
Zeile:321
Zeichen:21
Code:0
Fehler:'{' erwartet
URL:http://www.industrie-gravuren.de/galerie/img206.htm
Zeile:621
Zeichen:21
Code:0
Fehler:'{' erwartet
URL:http://www.industrie-gravuren.de/galerie/cat9.htm
Zeile:690
Zeichen:21
Code:0
Fehler:'{' erwartet
URL:http://www.industrie-gravuren.de/galerie/
...
Gruß
Markus
-
Use Firefox - it has exelent JS debuging tool
-
8O
still not working on the end of my .htaccess file.
RewriteRule ^([a-zA-Z0-9_\-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
something is going wrong. i don't know why :?:
@ v@no thanks i will install firefox perhaps it is helping me to repair the javascripts.
-
Just tested myself - works just fine.
[EDIT]
are you sure thats the exact line from your .htaccess? cause link with .htm extension instead of .html works just fine:
http://www.industrie-gravuren.de/galerie/anfahrt.htm
-
hi v@no,
i found out my problem.
In my javascript for my site link menu there were the links in php style. I changed that into html links.
Now it is working fine :mrgreen:
Just one link in german language, the "kleinanzeiger" the rewrite does not work and i don't know why.
I changed it like i changed the other links. For surprise in the other languages this "kleinanzeiger" link also works great. :roll: :?:
EDIT:
I have installed Mozilla Firefox. And i already repaired some template problems.
Also i can find the Javascript problems. But i cannot fix them.
What a pity that i don't know how :?:
Perhaps you could help me to fix one error, so that i could repair the other errors on my own :roll:
-
Hi, for those who wants to have furl like this :
www.yourdomain.com/image-image,name,id.html
www.yourdomain.com/categorie-categorie,name,id,page.html
www.yourdomain.com/recherche-name,page.html
www.yourdomain.com/nouvelles-images,1,page.html
(you can see it on my web site : www.yatahonga.com (http://www.yatahonga.com))
first : in sessions.php
find the url function and replace it by :
function good_name($nom) {
$nom = str_replace(' ', ',', $nom);
$nom = str_replace('_', ',', $nom);
$nom = str_replace('--', ',', $nom);
$nom = str_replace('---', ',', $nom);
$nom = str_replace(',,', ',', $nom);
$nom = str_replace(',,,', ',', $nom);
$nom = str_replace('&', '', $nom);
$nom = str_replace('©', '', $nom);
$nom = str_replace('~', '', $nom);
$nom = str_replace('°', '', $nom);
$nom = str_replace('+', '', $nom);
$nom = str_replace('=', '', $nom);
$accent = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
$noaccent = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
$nom = strtr(trim($nom),$accent,$noaccent);
return $nom;
}
function url($url, $amp = "&", $nom = "" ) {
global $l, $user_info;
// on enleve les caracteres spéciaux du nom
$nom=$this->good_name($nom);
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
// POUR LA PAGE SEARCH.PHP
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'recherche-images,'.$matches[1].'.html', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else if (strstr($url, 'search_new_images=')) {
preg_match('#search_new_images=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'nouvelles-images,'.$matches[1].'.html', $url);
}
}
else if (strstr($url, 'search_keywords=')) {
//echo "<br>JE SUIS DS SEARCH KEYWORDS<br>";
preg_match('#search_keywords=(.*)&?#', $url, $matches);
if (isset($matches[1])) {
//echo "<br>JE detecte les matchs : ".$matches[1]."<br>";
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
//echo "<br>QUERY : ".$query[1]."<br>";
$url = str_replace('search.php', 'recherche-images,'.$matches[1].'.html', $url);
}
}
else {
$url = str_replace('search.php', 'recherche-images.html', $url);
}
}
// POUR LA PAGE SEARCH_STATS.PHP
elseif (strstr($url, 'search_stats.php')) {
$url = str_replace('search_stats.php', 'recherches-statistiques.html', $url);
}
// POUR LA PAGE CATEGORIE.PHP
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'categorie-'.$nom.','.$matches1[1].','.$matches2[1].'.html', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'categorie-'.$nom.','.$matches[1].'.html', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.html', $url);
}
}
// POUR LA PAGE DETAILS.PHP
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php','image-'.$nom.','.$matches1[1].'.'.$matches2[1].'.html', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php','image-'.$nom.','.$matches[1].'.html', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
// *************************************************************
// FIN URL REWRITING
// *************************************************************
Note that if you want others statics words, you have to change the differents str_replace for search, details and categories
STEP 2 : in functions.php
wherevever you see :
$site_sess->url(ROOT_PATH."details.php?"
AND
$site_sess->url(ROOT_PATH."categories.php?"
just add the thir agurment wich is the cat or image name of course !
ex :
in function get_thumbnail_code(), for the condition if ($showlink), i set :
$thumb = "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$image_name)."\" onclick=\"opendetailwindow()\" target=\"detailwindow\">".$thumb."</a>";
STEP 3 : paging.php
replace it by this :
<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: paging.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
if (!defined('ROOT_PATH')) {
die("Security violation");
}
class Paging {
var $page,$offset,$perpage,$num_rows_all,$link_args;
var $first,$last,$total_pages,$config,$desc,$next,$back;
function Paging($page = 1, $perpage = 0, $num_rows_all = 0, $link_args = "") {
global $lang, $config;
$this->page = $page;
$this->perpage = $perpage;
$this->num_rows_all = $num_rows_all;
if (!isset($this->page) || !intval($this->page)) {
$this->page = 1;
}
if (!$this->num_rows_all) {
$this->total_pages = 0;
}
elseif ($this->num_rows_all <= $this->perpage) {
$this->total_pages = 1;
}
elseif ($this->num_rows_all % $this->perpage == 0) {
$this->total_pages = $this->num_rows_all / $this->perpage;
}
else {
$this->total_pages = ceil($this->num_rows_all / $this->perpage);
}
if ($this->page > $this->total_pages) {
$this->page = 1;
}
if (!$this->num_rows_all) {
$this->first = 0;
}
else {
$this->first = $this->perpage * $this->page - $this->perpage + 1;
}
if (!$this->num_rows_all) {
$this->last = 0;
}
elseif ($this->page == $this->total_pages) {
$this->last = $this->num_rows_all;
}
else {
$this->last = $this->perpage * $this->page;
}
$this->offset = $this->perpage * $this->page - $this->perpage;
$link_args = ereg_replace("&page=[0-9]*", "", $link_args);
$link_args = ereg_replace("page=[0-9]*&", "", $link_args);
$this->link_args = basename($link_args);
$this->link_args .= preg_match("/\?/",$this->link_args) ? "&" : "?";
$this->desc = $lang['paging_stats'];
$this->paging_next = $lang['paging_next'];
$this->paging_back = $lang['paging_previous'];
$this->paging_lastpage = $lang['paging_lastpage'];
$this->paging_firstpage = $lang['paging_firstpage'];
$this->range = $config['paging_range'];
}
// fct utile pour l'url rewriting
function good_page($url){
// on explode la chaine sur .
$url = explode (".",$url);
//on ne renvoit que l'url sans le .html
return $url[0];
}
function get_paging() {
$html = "";
if ($this->total_pages > 1) {
$page_back = $this->page - 1;
$page_next = $this->page + 1;
if ($page_back > 0) {
$html .= "<a href=\"".$this->good_page($this->link_args).",1.html\" class=\"paging\">".$this->paging_firstpage."</a> ";
$html .= "<a href=\"".$this->good_page($this->link_args).",$page_back.html\" class=\"paging\">".$this->paging_back."</a> ";
}
for ($page_num = 1; $page_num <= $this->total_pages; $page_num++) {
if ($page_num >= ($this->page-$this->range) && $page_num <= ($this->page+$this->range)) {
if ($this->page == $page_num) {
$html .= "<b class=\"pagingon\">$page_num</b> ";
}
else {
$html .= "<a href=\"".$this->good_page($this->link_args).",$page_num.html\" class=\"paging\">$page_num</a> ";
}
}
}
if ($page_next <= $this->total_pages) {
$html .= "<a href=\"".$this->good_page($this->link_args).",$page_next.html\" class=\"paging\">".$this->paging_next."</a> ";
$html .= "<a href=\"".$this->good_page($this->link_args).",$this->total_pages.html\" class=\"paging\">".$this->paging_lastpage."</a>";
}
}
return $html;
}
function get_offset() {
return $this->offset;
}
function get_paging_stats() {
global $site_template;
$search_array = array(
"/".$site_template->start."total_cat_images".$site_template->end."/iU",
"/".$site_template->start."total_pages".$site_template->end."/iU",
"/".$site_template->start."first_page".$site_template->end."/iU",
"/".$site_template->start."last_page".$site_template->end."/iU"
);
$replace_array = array(
$this->num_rows_all,
$this->total_pages,
$this->first,
$this->last
);
$this->desc = preg_replace($search_array, $replace_array, $this->desc);
return $this->desc;
}
} //end of class
?>
STEP 4 : categories.php
in section SHOW IMAGE, juste replace
the $linkarg definition by :
$link_arg = $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id,0,$cat_cache[$cat_id]['cat_name']);
( i just add the cat name ;) )
STEP 5 : details.php
for next and prev image url, just add the name of the image like this :
$next_image_url = $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$next_image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$next_image_name);
$prev_image_url = $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$prev_image_id.((!empty($mode)) ? "&mode=".$mode : ""),0,$prev_image_name);
STEP 6 : search_form.html (template) and header.html (template too...)
for the form, add this : onsubmit="return form_url(this.search_keywords.value); "
(its a redirection function in order to get the name of the query
then add in your header this javascript function:
function form_url(keywords) {
// on remplace les espaces
ok_key = keywords.replace(/ /, ",");
location.href="http://www.YOURDOMAIN.com/recherche-images,"+ok_key+",1.html";
return false;
}
Note that if you change the statics words in STEP 1, you have to change it in this function
STEP 7 : change your htaccess...
here is mine :
RewriteEngine on
# REWRITE DES PAGES DETAILS
RewriteRule ^/image-(.*),([0-9]+)\.html$ /details.php?image_id=$2 [L]
# CATEGORIES
RewriteRule ^/categorie-(.*),([0-9]+),([0-9]+)\.html$ /categories.php?cat_id=$2&page=$3 [L]
RewriteRule ^/categorie-(.*),([0-9]+)\.html$ /categories.php?cat_id=$2 [L]
# SEARCH
RewriteRule ^/recherche-images\.html$ /search.php [L]
RewriteRule ^/recherche-images,(.*),([0-9]+)\.html$ /search.php?show_result=1&search_keywords=$1&page=$2 [L]
RewriteRule ^/recherche-images,(.*)\.html$ /search.php?show_result=1&search_keywords=$1 [L]
RewriteRule ^recherches-statistiques\.html$ /search_stats.php [L]
RewriteRule ^recherches-statistiques,([0-9]+)\.html$ /search_stats.php?page=$1 [L]
RewriteRule ^/nouvelles-images,1\.html$ /search.php?search_new_images=1 [L]
RewriteRule ^/nouvelles-images,1,([0-9]+)\.html$ /search.php?search_new_images=1&page=$1 [L]
And that's all ! (its quite easy, don't be afraid...)
the main function is function url in sessions.php, its here you have to pay attention for the name of your rewriting
and in all other page, you just have to add the name of categorie, image, search or whatever when you call the function url()
If you understand, you can do it for lighbox.php, member.php, postcard.php etc....
Best regards !
cyril
ps : i hope you understand how i code this and i apologize for my bad english
-
after i installed this MOD i got
Forbidden
You don't have permission to access / on this server.
am using 1.7.1
any idea plz ?
-
seems that your not allowed to use mod rewrite...
-
everything is ok now :)
-
Thx ! Works great :)
only 2 questions
1.with one version is better this from I page or from 13 (and why)
2 in this moment it works realy nice but what when i change server on new one without rewrite module and without acces to add (activate) this module - what should I change in code ?
-
1.with one version is better this from I page or from 13 (and why)
it depence on what is that you need ;) if you need only "convert" .php files into .html then first page is better, cause its simplier. But if you decided to add image names to the url, then 13 page would be the answer.
2 in this moment it works realy nice but what when i change server on new one without rewrite module and without acces to add (activate) this module - what should I change in code ?
You always should have backups of your files. So, if you change to a server without mod_rewrite available, simply restore the sessions.php from the backup before you modifyed it, and everyting should be alright ;)
-
From your sessions.php file,
change :
$user_profile_link = (!empty($url_show_profile)) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&".URL_USER_ID."=".$row['session_user_id'];
to :
$user_profile_link = (!empty($url_show_profile)) ? str_replace("{user_id}", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&".URL_USER_ID."=".$row['session_user_id'];
Merry Christmas.
-
@ v@no
Lets do one step at a time: fix the javascript errors, then if the problem remains, we'll continue troubleshoot.
Dear v@no, now i think i have fixed all my errors on my URL. But my problem with the category jumpbox still exists.
Please try yourself on several pages of my site. On some pages it works and on some it isn't!
I think this problem exists, since i installed this MOD. Also texaholic has this problem if i remember right.
So please do you have advice to fix this problem :?:
-
Sorry, I am not able to understand this instruction in SEF url mod on page 13 by "lotus69" “first : in sessions.php
find the url function and replace it by :” what I should lookout to replace (maybe more correct: which code I should replace)
Thanks for this wonderful mod. 8)
-
You need to find this block of code:
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
And replace it with what they posted.
P.S.
Just in case you didnt know, see a gray icon next to the each reply headline? if you move your mouse cursor over it, right click and choose "copy url" ("copy shortcut" or "copy location" whatever is in your browser), then you can post that url when you are referring to a specific reply and make it easier for others to find it ;)
-
Thanks V@no
I never notice it, thanks for hinting it out… :D
I know that this http://www.4homepages.de/forum/index.php?topic=6729.msg53658#msg53658 mod is difficult but the results that can be archived is compelling me to try it….
I have successfully modified all the steps expect step 2 and step 4
hope someone could make these steps a bit more easy :(
In step 2 for $site_sess->url(ROOT_PATH."details.php?" added this $image_name in the highlited area,
but for $site_sess->url(ROOT_PATH."categories.php?" what should be added and where?
and in step 4
I just replaced
$link_arg = $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id);
with
$link_arg = $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id,0,$cat_cache[$cat_id]['cat_name']);
well the results are that;
if i am clicking on a image from random image with file name 82 and image name lc, this is what i am getting http://mysite.com/image-lc,82.html
and categories are
http://mysite.com/categorie-,1.html
but nothing open in this urk, just a 404 error
:cry:
-
The third parameter they mean the third parameter of the function.
the parameters are separated by comma. like this:
$site_session->url(param1, param2, param3)
So if you find the needed line, check how many parameters already supplyed. if only one, then after first parameter add:
, 0, $image_name
In some cases the second paramater already supplyed (something like , "&") , then all you need to add is:
, $image_name
-
this mod is interesting, but i was wondering if it could be taken a step furthur. with this mod a url like this: http://www.website.com/details.php?image_id=8 would turn into this http://www.website.com/img8.htm.
But I was wondering if I could turn this url: http://www.website.com/details.php?image_id=8 into http://www.website.com/Ferrari, assuming my image name is Ferrari. Is that possible, or is that just a dream I am dreaming of?
-
scroll back a few pages, atlest start reading from the middle ;)
-
scroll back a few pages, atlest start reading from the middle ;)
oh ok lol.. so i can't do what I wanted to do.
well...i use 4images for one of my sites and its awesome, but for my other site (which is not an image based site, but a video based site) i don't really think its nessessary, however i wanted to be able to use the ratings feature. ratings is really the reason for me wanted to use 4images for a non image site.
Is their any way I would be able to rate my files (like a .wmv or a .rm file) without have to be in the 4images gallery. Like could I implement that ratings feature on a page like "http://www.site.com/Food.php" instead of from "http://www.site.com/details.php?image_id=7883".
Even if I could do that without 4images that could be great. Thanks for the help!
-
Djith and me ordered this mod, to put image name and category name in url.
After testing and debugging, we think it is ok now, and we are happy to share it with you.
This mod puts the names of the categories and the images in the url like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
you can see it working on http://www.edupics.com (1.7) and http://www.avatarcorner.com (1.7.1)
on these sites the "img" and "cat" in the url were changed to some keywords.
( see http://www.4homepages.de/forum/index.php?topic=6729.msg41243#msg41243 )
there is also the possibility to make url's with full path to image and categories : ( see //comment in mod )
for image --->http://www.your-site.com/img-full path to image.htm
category --->http://www.your-site.com/cat-full path of category.htm
This was not tested on our sites.
Don't forget to backup your files before editing !
files to be edited :
.htaccess
includes/sessions.php
=================================================
1. at the end of .htaccess, add following code :
=================================================
#Mod_bmollet : category name in URL
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
=======================================================================
=========================================
2. add this code to include/sessions.php
=========================================
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
========================================================================
========================================================================
3. In include/sessions.php replace function url(...) by following code.
========================================================================
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
========================================================================
========================================================================
4. In include/sessions.php following functions are useful for URL's like
yoursite.com/maincategory/subcategory/imagename.htm
This is not necessairy if you want url's (like we used on our sites) like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
========================================================================
//Mod_bmollet
/**
* Get the category id
* @param array $path An array with the path of the category
* @param int $parent_id The parent id of the first item in the $path
*/
function get_category_id($path,$parent_id = 0)
{
$cat_name = array_shift($path);
global $site_db;
$sql = "SELECT cat_id FROM ".CATEGORIES_TABLE." WHERE cat_parent_id = $parent_id AND cat_name = '".mysql_real_escape_string($cat_name)."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
if( count($path) != 0)
{
return get_category_id($path,$row['cat_id']);
}
else
{
return $row['cat_id'];
}
}
//Mod_bmollet
/**
* Get the image id
* @param array $path An array with the path of the image
*/
function get_image_id($path)
{
global $site_db;
$image_name = array_pop($path);
$cat_id = get_category_id($path);
$sql = "SELECT image_id FROM ".IMAGES_TABLE." WHERE image_name = '".mysql_real_escape_string($image_name)."' AND cat_id = $cat_id";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
return $row['image_id'];
}
========================================================================
-
Can't believe that nobody noticed the mod here above!! :D
Well... try it out guys !!
-
From SEO point of view, which is better? (http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268)
1) http://www.your-site.com/img-imagename-andnumber.htm
OR
2) http://www.your-site.com/maincategory/subcategory/imagename.htm
P.S (added the 4th step to make it look like 2nd variant, but nothing seems to have changed, it still appear like the first variant) :(
EDIT:
I just installed this mod http://www.4homepages.de/forum/index.php?topic=10625.msg53408#msg53408 Multi-Lightboxes v1.03 and everything seem to be working, expect for the lightbox link,
like after rewritng; it's output is http://www.site.com/lightbox.htm, but pressing this gives a 404 error, same ploblem in the code of Multi-Lightboxes v1.03 {if url_lightbox_manage}
<a href="{url_lightbox_manage}"><b>{lang_lightbox_manage}</b></a>
{endif url_lightbox_manage}
also the output is http://www.site.com/lightbox.htm?action=manage where as http://www.site.com/lightbox.php?action=manage sovles the problem,
how can i correct this
Thanks :)
-
From SEO point of view, which is better? (http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268)
1) http://www.your-site.com/img-imagename-andnumber.htm
OR
2) http://www.your-site.com/maincategory/subcategory/imagename.htm
P.S (added the 4th step to make it look like 2nd variant, but nothing seems to have changed, it still appear like the first variant) :(
to see full path, you must not only add step 4, but also comment / uncomment some lines in step two. I don't know if you've done that too ? ( you can read it in the mod ). This mod was tested it and it worked.
As the seo's concerned, if you put full path, you have more keywords in the url, but it's les accurate.
Like if people look for sea, they can get a url like this http://yoursite.com/animals/sea/dolphin.htm
Now they will land on the dolphin page while they were better off on the sea-category page.
If you use only the exact category or image, you will have something like http://yoursite.com/cat-sea-112.htm, SEO's will show this page because sea is only in this url, and people will land on the sea-category-page.
-
OMG :oops: i guess i have screwed 8O my sessions.php, eveything works, but only like the first variant, please can anyone see what is wrong in my file... (attached)
-
I think you want to replace "img" and "cat" in the url by keywords, right ?
this is for url's like this :
for image --->http://www.your-site.com/keywords_for_images-imagename-andnumber.htm
category --->http://www.your-site.com/keywords_for_categories-categoryname-andnumber.htm
1. it should work with .htaccess like this :
-----------------------------------------------------------------------------------------------------------------
#begin code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^keywords for categories\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^keywords for categories([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^keywords for categories([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^keywords for images([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^keywords for images([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^keywords for categories-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
RewriteRule ^keywords for images-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
----------------------------------------------------------------------------------------------------------------
2. add this code to includes/sessions.php
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
-------------------------------------------------------------------------------------------------------------------------------
3. in includes/sessions.php
find
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
change to this :
( note where keywords for categories and images are inserted )
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', ' keywords for categories '.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', ' keywords for images '.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
------------------------------------------------------------------------------------------------------------------------------------------------
i can't give assistance for point 4 because i haven't used it myself.
( step 4 is needed for url's with full path )
for image --->http://www.your-site.com/img-full path to image.htm
category --->http://www.your-site.com/cat-full path of category.htm
I hope this is somehow helpful to you :)
-
Thanks kief24
This information was useful, though, it's not what i am exately looking for, i am trying to implent the 4th step (URL's like
yoursite.com/maincategory/subcategory/imagename.htm) cause a friend of mine who is a SEO expert says that this is better that than (http://www.your-site.com/img-imagename-andnumber.htm)
my sessions.php is messed up, after implementing the 4th step also , no change at all!! it is same like (http://www.your-site.com/img-imagename-andnumber.htm) and i know this works (tested a fresh install)
:(
-
maxpaul, do you know why the SEO expert says that url with full path is better ?
( and i'll try out the 4th step myself this week. If i have problems with it i can contact the guy who wrote the mod and solve them )
-
kief24, I just had a talk with him,
he says that when in url we have http://www.site.com/cat_name/subcat_name/imagename.html its more human friendly, bots like Google takes the url into consideration... like it takes the page title, the directory you are in (meaning its name) and the page name itself..... Cause these add to a lot of keywords..... (to make the results more precise)
At the same time long filenames like http://www.sute.com/catname_subcatnames_sub_sub_catnames_imagenames_number.html (yea, sometimes it can become real long in this variants... :? ) can trigger a spam alarm and Google and other has good penalty for keyword stuffing…
so better and safe way is the directory like structure....looks more real, meaning full and seems to be safer ;)
p.s it seems like www.cat.site.com/file_name.html and www.site.com/cat/file_name.html is considered entirly diffrent by Google… the first url, it considers it as an different site than www.site.com/cat/file_name.html and thus your page rank can be less for you sub domains… (I had made this mistake a lot of times ;) )
note: because of the ever increasing number of people trying to cheat bots, good bots are trying to develop technologies to view the page same was as an human would have done it…. so it does make sense to have an human friendly url…..
-
This mod is simple and works GREAT thanks!!
-
okay well, back to the original thing here....
short url's....
i applied the first mod in this thread and what happened ? when you visit a page for the first time you get a session id !!
when you visit the second time it disappeared !! what is happening?
when google visit my site it read's all the session id's and will not take my site into their database ....
realy have to get rid of those session id's .... anyone an idea ?
-
okay well, back to the original thing here....
short url's....
i applied the first mod in this thread and what happened ? when you visit a page for the first time you get a session id !!
when you visit the second time it disappeared !! what is happening?
when google visit my site it read's all the session id's and will not take my site into their database ....
realy have to get rid of those session id's .... anyone an idea ?
yea, i too noticed this problem, how to deal with this? :?
-
Trust me, google has no problem with sessionid in the url.
the sessionid is being attached when no cookies are set, and since search engines normaly dont use cookies, they always get sessionid in the url.
So, there is a way to detect a bot and dont attach sessionid for it, but doing so will create new session on each request bot made, that is more server resources, because more files will be created in the server's sessions storage.
So, if you still want to try, install this mod first:
http://www.4homepages.de/forum/index.php?topic=8752.0
(atleast do the Step 3. and if you dont want the whole mod, then remove $site_sess->login($val, "12345");
line)
Then in sessions.php find: if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
replace it with: global $user_bot;
if (!$user_bot && $this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
[EDIT]
In 4images v1.7.6 the line you should find is:
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
Replace it with: global $user_bot;
if (!$user_bot && $this->mode == "get" && strpos($url, $this->session_id) === false) {
-
I did like you explained , but i see that first time visitors still get session id's .... google too ....
is there another way to get rid of them ?
-
but i see that first time visitors still get session id's .... google too ....
and how do you see that?
-
i use statcounter on my website and i can see the visitors path through the website... everytime they havae session id's also google registered all the session id's .....
http://www.google.com/search?q=site:http://www.avatarcorner.com/&hl=nl&lr=&start=10&sa=N
and
6th February 2006 21:03:43 www.avatarcorner.com/
www.startkabel.nl/k/avatar/
6th February 2006 21:04:00 www.avatarcorner.com/avatars-cartoons-8.htm?sessionid=1bdab4159150156f88f70dcc81791efa
www.avatarcorner.com/
6th February 2006 21:04:07 www.avatarcorner.com/
www.startkabel.nl/k/avatar/
magnify this user dsl.dynamic8121421044.ttnet.net.tr (Adsl-alc-gayrettepe-dynamic Pool)
Turkey, 0 returning visits
Date Time WebPage
6th February 2006 21:02:42 www.avatarcorner.com/
www.forumta.com/showthread.php?t=74808
magnify this user d51A4F3E5.access.telenet.be (Telenet Operaties N.v)
West-vlaanderen, Brugge, Belgium, 0 returning visits
Date Time WebPage
6th February 2006 20:51:04 www.avatarcorner.com/
avatar.startkabel.nl/k/avatar/index.php?nr=1
6th February 2006 20:51:14 www.avatarcorner.com/avatars-fun-1.htm?sessionid=4a320dc8d47777b473d35842cc6c2407
www.avatarcorner.com/
6th February 2006 20:52:20 www.avatarcorner.com/avatar-streetdance-2083.htm
www.avatarcorner.com/avatars-fun-1.htm?sessionid=4a320dc8d47777b473d35842cc6c2407
magnify this user 5352028A.cable.casema.nl (N.v. Casema)
Utrecht, Utrecht, Netherlands, 0 returning visits
Date Time WebPage
6th February 2006 20:31:43 www.avatarcorner.com/
avatars.2link.be/
6th February 2006 20:33:17 www.avatarcorner.com/avatars-movies-16.htm?sessionid=63c51dede4cd82a6190ff39629d17db8
www.avatarcorner.com/
6th February 2006 20:41:44 www.avatarcorner.com/
avatars.2link.be/
6th February 2006 20:42:12 www.avatarcorner.com/avatars-fun-1.htm
www.avatarcorner.com/
6th February 2006 20:44:32 www.avatarcorner.com/
avatars.2link.be/
6th February 2006 20:47:27 www.avatarcorner.com/avatars-symbols-27.htm
www.avatarcorner.com/
6th February 2006 20:50:18 www.avatarcorner.com/avatars-symbols-27.htm?page=2
www.avatarcorner.com/avatars-symbols-27.htm
magnify this user 82-169-179-30.dsl.ip.12move.nl (Wol)
Netherlands, 1 returning visit
Date Time WebPage
6th February 2006 20:46:32 www.avatarcorner.com/
avatar.startkabel.nl/k/avatar/index.php?nr=1
6th February 2006 20:46:38 www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
www.avatarcorner.com/
6th February 2006 20:46:43 www.avatarcorner.com/avatars-forestanimals-30.htm
www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
6th February 2006 20:46:51 www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
www.avatarcorner.com/
6th February 2006 20:46:56 www.avatarcorner.com/avatars-spiders-94.htm
www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
6th February 2006 20:47:25 www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
www.avatarcorner.com/
6th February 2006 20:47:30 www.avatarcorner.com/avatars-dogs-95.htm
www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
6th February 2006 20:47:40 www.avatarcorner.com/avatars-animals-10.htm?sessionid=d08154e1d854a41ef3c28a3e3bd9ebfb
www.avatarcorner.com/
6th February 2006 20:47:42 www.avatarcorner.com/
avatar.startkabel.nl/k/avatar/index.php?nr=1
6th February 2006 20:47:46 www.avatarcorner.com/avatars-arts-77.htm
www.avatarcorner.com/
6th February 2006 20:47:55 www.avatarcorner.com/avatar-dali-2678.htm
www.avatarcorner.com/avatars-arts-77.htm
6th February 2006 20:48:05 www.avatarcorner.com/avatars-arts-77.htm
www.avatarcorner.com/
-
anyone an idea ??
-
Well, lets see...how long have the bots visited your site before you've made these changes? do you think they will "forget" the addresses they collected in the past? - no they wont. They will continue re-visiting these adresses, which includes sessionid, for very long time, nothing you can do about it. They even might show these URLs for the people in search result - again, nothing you can do about it.
-
hmm.... the new url's are in use for one month now.....
hope that google will not forget me ! :)
-
here is an intresting share: http://www.vaughns-1-pagers.com/internet/google-ranking-factors.htm
please note then point 53 "Dynamic Pages" = "Problematic - know pitfalls - shorten URLs, reduce variables, lose the session IDs"
:D
-
I got a small problem with kief24's mod. Some of my categories has / in them. And thet messes the url. Is there a way so they will show up as - instead?
EDIT
I found out myself.
Changed:
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
To:
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ/","eeeaeauoiaabcdefghijklmnopqrstuvwxyz-");
:D
-
could someone tell me how to change the search links
like i have them : domain/search.htm?search_keywords=reward
is there a way to integrate it in link ? domain/search-reward.htm ?
-
could someone tell me how to change the search links
like i have them : domain/search.htm?search_keywords=reward
is there a way to integrate it in link ? domain/search-reward.htm ?
Me too interested :D
is it possible to integrate it to v@no's sitemap MOD with the category and subcategory names linking to search using the above idea in quote :?:
-
what is the actual version of this mod.. everybody has fixed something..
any new release for the mod?
-
Two questions.
1)
Before I was using Version 1 of this mod. (Page 1). Today I read all the post starting from first page to end and decided to go for version 2. (Page 14)
Now What I would like to know is, considering the fact that having category name & image name in URL is very good. How much does it cost @ server end. I mean how much resources it takes only for converting URLs.
2) V@no wrote here
http://www.4homepages.de/forum/index.php?topic=6729.msg53397#msg53397
that to convert custom template files, this line should be added
RewriteRule ^([a-zA-Z0-9_\-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
Now I have a template FAQ.html but I can't get it to work by faq.htm or by FAQ.htm
So what I want to ask is, to use this mod with custom template files, I just need to add the above line or is there is some other change as well???
-
1) as more REGEX in .htaccess and as more complex they as more server resources needed.
2) perhaps try remove letter "l":
[qcode]RewriteRule ^([a-zA-Z0-9_\-]+)\.html$ index.php?template=$1&%{QUERY_STRING}[/qcode]
-
1) as more REGEX in .htaccess and as more complex they as more server resources needed.
But it's not something that would be using too many resources. That could cause any issue with my hosting company.
M I Right???
Considering the current response of the site, I can say that my server is really fast one. At least I never got any such issue.
And about custom templates. It works now :D
Thanks V@no 4 helping me one more time :)
-
I dont know how much is too much, but my .htaccess in root directory is about 22kb and has about 200+ lines in it and I didnt notice anything different perfomance wise...the site itself slow, but that another story :)
-
hello ,
how can i prevent google from taking the sessions id , google see my link like this :
/cat1.htm?sessionid=86c5166e15152e2d38926567f7222ca8
how can i remove it to show like this
/cat1.htm
plz someone answer
-
please read the comments, we've discused this already.
-
Hi V@no
You suggested a way to remove session IDs for search bots. Right here
http://www.4homepages.de/forum/index.php?topic=6729.msg59251#msg59251
I am using kief24 version of this mod (page 14)
http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268
In his modification, he has commented out this line.
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
So what should I do to apply the changes u suggested for Bots??
-
Hi V@no
You suggested a way to remove session IDs for search bots. Right here
http://www.4homepages.de/forum/index.php?topic=6729.msg59251#msg59251
i allready tried this but it dont work ...
i just checked google cache and saw what it see .... sessions are evrywhere ...
-
hmmmm :?
I too was interested to find a way to remove session IDs completely... like the very first time homepage loads, all links have this session IDs and if u click on any links, the second time page loads, we get clean links without session IDs, this ok ;) but the worse thing is all pages that get indexed by search engines have this session IDs :?
:idea: v@no's previous idea on how to remove it is promising...
:!: he has also mentioned the disadvantages of it, which is discouraging to apply it...
-
i allready tried this but it dont work ...
i just checked google cache and saw what it see .... sessions are evrywhere ...
google cache? google store cache pages almost forever. you still can find cached pages of this site dated more then a year ago, even before the hack!
what did you expect?
-
Hi V@no
You suggested a way to remove session IDs for search bots. Right here
http://www.4homepages.de/forum/index.php?topic=6729.msg59251#msg59251
i allready tried this but it dont work ...
i just checked google cache and saw what it see .... sessions are evrywhere ...
The best way to know; what you have applied is working or not; is to load the page in your browser and hover over the category links and see if there is any session ID attached.
Checked in google cache will not help like v@no said….
and for that matter checking your site in search will not help momentarily, cause even if you site/page is re-indexed today. It takes days to get reflected in search results…..
so if you do not find any session id attached, then you are doing it correct… wait for few weeks or months to see the results without the session ID in search listings…
-
:idea: v@no's previous idea on how to remove it is promising...
:!: he has also mentioned the disadvantages of it, which is discouraging to apply it...
That’s why I am also interested in it. And about the disadvantage, I have worked it out. I mean Let the bot once crawle your site without session ID :wink:
Hi V@no
I am using kief24 version of this mod (page 14)
http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268
In his modification, he has commented out this line.
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
So what should I do to apply the changes u suggested for Bots??
What to change in this version to use this mod?
-
google cache? google store cache pages almost forever. you still can find cached pages of this site dated more then a year ago, even before the hack!
what did you expect?
google give you the date of the cache ... when it was taken so you can know what it see ....
This is G o o g l e's cache of http://www. as retrieved on 19 Mar 2006 05:14:50 GMT
-
gr8 help !!!!
-
gr8 help !!!!
@ commandos
Pl don’t get dishearten, this MOD is one of the most popular MOD here and there are virtually thousands of people trying to find the best configuration. I am also desperately looking for this information you are looking for! All I can tell is; let us wait and see, surely some one will come up with some idea ;)
-
let us wait and see, surely some one will come up with some idea ;)
I have another idea: lets try and one more try. The code I've showed worked on my test server and others reported it worked. So, the solution is - try try try ;)
-
Is this mod also for the new version 1.7.2 ?
I tried to change the codes but they are different ( includes/sessions.php ) and it is not working.
Has anybody tried it successfully ?
-
Hey v@no can you help me :oops:
I was trying this without sucess:
Replace /member.php?action=uploadform with /upload
and Replace member.php?action=uploadform&cat_id=cat_id with /uploadcat_id[/b]
Example: /upload31 (where 31 is the cat id) -- like your site :wink:
this is what i have done so far:
in .htaccess file (added):
RewriteRule ^upload$ member.php?action=uploadform%{QUERY_STRING}
RewriteRule ^upload\.([0-9]+)$ member.php?action=uploadform&cat_id=$1&%{QUERY_STRING}
in sessions.php file (added):
elseif (strstr($url, 'member.php?action=uploadform')) {
if (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('member.php?action=uploadform', 'upload'.$matches[1], $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('member.php?action=uploadform', 'upload', $url);
}
}
What did i do wrong ? :?: :roll:
-
How would I change
{prev_image_url} and {next_image_url} so it will work with mod_rewrite
and {paging}
Help v@no, you like a god in this forum lol
-
@himu:
Try this: elseif (strstr($url, 'member.php?action=uploadform'))
{
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
$url_cat_id = "";
if (isset($matches[1]))
{
$url_cat_id = $matches[1];
}
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('member.php', 'upload'.$url_cat_id, $url);
$query = str_replace('cat_id='.$url_cat_id.'&', '', $query);
$query = str_replace('&cat_id='.$url_cat_id, '', $query);
$query = str_replace('cat_id='.$url_cat_id, '', $query);
$query = str_replace('action=uploadform&', '', $query);
$query = str_replace('&action=uploadform', '', $query);
$query = str_replace('action=uploadform', '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
and in .htaccess you can use only one line:RewriteRule ^upload([0-9]*)$ member.php?action=uploadform&cat_id=$1&%{QUERY_STRING}
@zoomos:
I dont understand what do you mean...
If you added the code for image details page, it will affect next/prev links as well.
-
V@no,
:( Unfortunately this did and did not work also... let me explain...
when i click on upload under any category it shows /member.php?action=uploadform&cat_id=10
but when i manually type upload10 it works... why?? :roll:
the hyperlinks are not changing ... why is that? any clues... :?:
@himu:
Try this ------- snip snip .....
-
perhaps you added this code below the member.php part that was already exists? can you show your url() function?
-
perhaps you added this code below the member.php part that was already exists? can you show your url() function?
Here is my function url():
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', './', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search'.$matches[1], $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'album'.$matches[1], $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'album', $url);
}
}
// myMOD upload string
elseif (strstr($url, 'member.php?action=uploadform'))
{
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
$url_cat_id = "";
if (isset($matches[1]))
{
$url_cat_id = $matches[1];
}
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('member.php?action=uploadform', 'upload'.$url_cat_id, $url);
$query = str_replace('cat_id='.$url_cat_id.'&', '', $query);
$query = str_replace('&cat_id='.$url_cat_id, '', $query);
$query = str_replace('cat_id='.$url_cat_id, '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
// myMOD upload string END
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'c'.$matches1[1].'.'.$matches2[1], $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'c'.$matches[1], $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'c', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', $matches1[1].'.'.$matches2[1], $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', $matches[1], $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
-
I've updated my previous post ;) should work now
-
Great!!!! working fine... Thanks a lot... v@no
8)
I've updated my previous post ;) should work now
-
Hey people,
I've noticed a lot of you have asked a way to completely remove sessionid's, as google DOES NOT like it.
Just add this somewhere in your .htaccess:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Just add it at the very end of your .htaccess (for instance), and session id's are gone for good :D
-
Hey people,
I've noticed a lot of you have asked a way to completely remove sessionid's, as google DOES NOT like it.
Just add this somewhere in your .htaccess:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Just add it at the very end of your .htaccess (for instance), and session id's are gone for good :D
getting internal server error 500 :(
-
Djith and me ordered this mod, to put image name and category name in url.
After testing and debugging, we think it is ok now, and we are happy to share it with you.
This mod puts the names of the categories and the images in the url like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
you can see it working on http://www.edupics.com (1.7) and http://www.avatarcorner.com (1.7.1)
on these sites the "img" and "cat" in the url were changed to some keywords.
( see http://www.4homepages.de/forum/index.php?topic=6729.msg41243#msg41243 )
there is also the possibility to make url's with full path to image and categories : ( see //comment in mod )
for image --->http://www.your-site.com/img-full path to image.htm
category --->http://www.your-site.com/cat-full path of category.htm
This was not tested on our sites.
Don't forget to backup your files before editing !
files to be edited :
.htaccess
includes/sessions.php
=================================================
1. at the end of .htaccess, add following code :
=================================================
#Mod_bmollet : category name in URL
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
=======================================================================
=========================================
2. add this code to include/sessions.php
=========================================
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
========================================================================
========================================================================
3. In include/sessions.php replace function url(...) by following code.
========================================================================
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
========================================================================
========================================================================
4. In include/sessions.php following functions are useful for URL's like
yoursite.com/maincategory/subcategory/imagename.htm
This is not necessairy if you want url's (like we used on our sites) like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
========================================================================
//Mod_bmollet
/**
* Get the category id
* @param array $path An array with the path of the category
* @param int $parent_id The parent id of the first item in the $path
*/
function get_category_id($path,$parent_id = 0)
{
$cat_name = array_shift($path);
global $site_db;
$sql = "SELECT cat_id FROM ".CATEGORIES_TABLE." WHERE cat_parent_id = $parent_id AND cat_name = '".mysql_real_escape_string($cat_name)."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
if( count($path) != 0)
{
return get_category_id($path,$row['cat_id']);
}
else
{
return $row['cat_id'];
}
}
//Mod_bmollet
/**
* Get the image id
* @param array $path An array with the path of the image
*/
function get_image_id($path)
{
global $site_db;
$image_name = array_pop($path);
$cat_id = get_category_id($path);
$sql = "SELECT image_id FROM ".IMAGES_TABLE." WHERE image_name = '".mysql_real_escape_string($image_name)."' AND cat_id = $cat_id";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
return $row['image_id'];
}
========================================================================
Cool MOD, but frankly it doesn't make sense.
What exactly are we supposed to do in order to get URLs like:
http://www.site.com/category/imagename.html ?
-
Hey people,
I've noticed a lot of you have asked a way to completely remove sessionid's, as google DOES NOT like it.
Just add this somewhere in your .htaccess:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Just add it at the very end of your .htaccess (for instance), and session id's are gone for good :D
getting internal server error 500 :(
Can you show your htaccess file here (or PM it to me if you don't want it out in public)
-
i found out that google read my entire website two times recently..... thought that it will be okay now ---session id's in cache----- but no sir-----still session id's------ i can see in cache of google that it read my site few days ago......
realy...... my friend mike has no session id's anymore in google...... vanished...... he has version 1.7
i think to downgrade my site to 1.7 ---seems to work whit 1.7
-
Hi there,
I installed this mod and it is working almost perfectly. But I have 2 problems.
If I enter my site for the first time the url is changed e.g. into:
http://www.amazing-gifs.de/gifs/cat142.htm?sessionid=a83f0fa42dfde9479d7bd56e8a4789ee
if I enter the site for the secornd time the url´s name ist only:
http://www.amazing-gifs.de/gifs/cat142.htm
So that´s how I want it to be ( http://www.amazing-gifs.de/gifs/cat142.htm ) .
Why is the sessionid shown if I enter for the first time ?
What do I have to change so that all the URL looks like the second ?? ( I´m using version 1.7.2 )
After changing the files my the Control Center is not working right. Does anybody have this problem too ?
Can anybody plaease help ?
-
i'm using 1.7.1 and has the same problem, i'm looking for a solution wich my previous post on this topic could be a solution i think.
-
Hi there,
I installed this mod and it is working almost perfectly. But I have 2 problems.
If I enter my site for the first time the url is changed e.g. into:
http://www.amazing-gifs.de/gifs/cat142.htm?sessionid=a83f0fa42dfde9479d7bd56e8a4789ee
if I enter the site for the secornd time the urlґs name ist only:
http://www.amazing-gifs.de/gifs/cat142.htm
So thatґs how I want it to be ( http://www.amazing-gifs.de/gifs/cat142.htm ) .
Why is the sessionid shown if I enter for the first time ?
What do I have to change so that all the URL looks like the second ?? ( Iґm using version 1.7.2 )
After changing the files my the Control Center is not working right. Does anybody have this problem too ?
Can anybody plaease help ?
sessionid is required for 4images, it only appiers when no cookies were set (first visit) or when they are disabled. If you want to disable sessionid in the url, you will only slow down your gallery and privent visitors with blocked cookies use your site with full features. please read the reply, we've discuss it here already.
@djith:
you did something wrong, I just followed my own instructions and it worked just fine on v1.7, 1.7.1 and v1.7.2 (the latter had different line to search for, though)
-
@ V@no
yes I know about the sessions. But I was just wondering why the session is shown in the url for one time. If I visit another site that uses 4images the session id does not appear.
since I changed the sessions.php file my control center does not work right. I can see only:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/amazing-gifs.de/gifs/includes/sessions.php:604) in /home/www/kunden/amazing-gifs.de/gifs/admin/admin_functions.php on line 168
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/amazing-gifs.de/gifs/includes/sessions.php:604) in /home/www/kunden/amazing-gifs.de/gifs/admin/admin_functions.php on line 169
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/amazing-gifs.de/gifs/includes/sessions.php:604) in /home/www/kunden/amazing-gifs.de/gifs/admin/admin_functions.php on line 170
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/amazing-gifs.de/gifs/includes/sessions.php:604) in /home/www/kunden/amazing-gifs.de/gifs/admin/admin_functions.php on line 171
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/amazing-gifs.de/gifs/includes/sessions.php:604) in /home/www/kunden/amazing-gifs.de/gifs/admin/admin_functions.php on line 172
Do you know what went wrong or can anybody help ??
-
yes, and its covered in the FAQ, most probably you left a space or a newline after ?>
P.S. what other site did you visit that did not show sessionid? unless that site used the sessionid removal code, its not possible UNLESS, you've visited it once before and the sessionid was left in your cookies.
-
Hey people,
I've noticed a lot of you have asked a way to completely remove sessionid's, as google DOES NOT like it.
Just add this somewhere in your .htaccess:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Just add it at the very end of your .htaccess (for instance), and session id's are gone for good :D
Any disavantage of this version ? because it work for me
-
it was working yesterday no more sessionsid's ..... woke up today to see that it was giving 502 error ... :x
-
I love this mod!!! google loves it too :):)
-
Thank you for the mod! But I have an error!!
All the mod-rewrite-functions work, but I receive the following warnings - but not like "tirakle" on Admin-Pages, but on every page of my gallery http://www.konradin.net/galerie .
Warning: session_start(): open(/tmp/sess_42628b585b5e31a47cc61dee0fe7abbe, O_RDWR) failed: Permission denied (13) in /www/htdocs/v110298/galerie/includes/sessions.php on line 102
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /www/htdocs/v110298/galerie/includes/sessions.php:102) in /www/htdocs/v110298/galerie/includes/sessions.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v110298/galerie/includes/sessions.php:102) in /www/htdocs/v110298/galerie/includes/sessions.php on line 110
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v110298/galerie/includes/sessions.php:102) in /www/htdocs/v110298/galerie/includes/sessions.php on line 110
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v110298/galerie/includes/sessions.php:102) in /www/htdocs/v110298/galerie/includes/sessions.php on line 110
I did not left any spaces in my code - but I have the script version 1.7.2
What can I do? I forgot to make a backup of my sessions.php an made changes before yet :-( Shall I post my sessions.php - Code?
Thx for helping, Bye Konradin
-
this covered in the FAQ ;) (not related to this mod)
-
Is this MOD working with 1.7.2 ?? I ask because the text that I have to replace doesn't exist completely - only the beginning and the end...
Do I have to replace the following code?
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
THX for helping, bye Konradin
-
should work, and if you wish you can replace
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
with if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
but it should work with any additional changes...(I havent tested it though)
-
i found out that google read my entire website two times recently..... thought that it will be okay now ---session id's in cache----- but no sir-----still session id's------ i can see in cache of google that it read my site few days ago......
realy...... my friend mike has no session id's anymore in google...... vanished...... he has version 1.7
i think to downgrade my site to 1.7 ---seems to work whit 1.7
google will show sessionid in the cache pages "forever", you cant do anything about it.
Yet, when it visit page from the old cached address with sessionid, all new links from that page will not contein sessionid BUT that page itself might get updated in google cache but still will contein sessionid, because google visited it from cached address and not from "fresh" page, see what I mean?
You can not tell by looking at date when the google cached a page if the code working or not. The only way to test it properly is either change your browsers agent identification to "google" or add your browser in the bots list and then block all the cookies and browse your site.
-
Sorry to ask that question, but for version 1.7 - witch version of this mod shoul i use?
Regards
Sopur
-
the original
-
the original
That one from page 1?
Thanks!
-
Hello everyone!
Could someone make a conclusion of possible addons fpr the script/mod? There are so many small additions that I can't see clearly what I need to make the following changes (Perhaps still not discussed yet - I have read more than 15 pages):
1. member.php?action=show_user.... ----> member_profile_admin.html
2. Has anybody made a solution to modify the links of the "Mod Language Select (http://www.4homepages.de/forum/index.php?topic=4743.0)"? I'm using Version B.
3. Paging? - Categories (and perhaps comments?)? (cat5_2_de.html, cat5_2_en.html, cat6_5_es.html ...)
That would be really great!!!
Thx you so much for helping, bye Konradin
-
@ kief24 & Djith
:?: is it possible to change
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
to
for image --->http://www.your-site.com/imagename-img-andnumber.htm
category --->http://www.your-site.com/categoryname-cat-andnumber.htm
thanks :D
:!: has anyone got the 4th step of this mod: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268 working?
-
Friends I have found a shocking bug in the mod: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268 8O
do not know how serious it as SEO is concerned but has bad user experience!!! :? :?
the problem: on sites using this: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268 MOD…
go to an image, note the current url and page title, press the download to download any image… now go to home page or another image and u will be shocked to see that the browser url do not change anymore.. and so does not change the page title… (but I seen changes for few seconds when u click the images) but again the old url is show in page title!!!
I guess we need to fix this problem ASAP!!! :(
I found this problem on V@no’s site too.. meaning all of us using these mod will be having this problem 8O
p.s I found this problem in IE only…. need to do more testing….
-
go to an image, note the current url and page title, press the download to download any image… now go to home page or another image and u will be shocked to see that the browser url do not change anymore.. and so does not change the page title… (but I seen changes for few seconds when u click the images) but again the old url is show in page title!!!
I guess we need to fix this problem ASAP!!! :(
I found this problem on V@no’s site too.. meaning all of us using these mod will be having this problem 8O
p.s I found this problem in IE only…. need to do more testing….
Actualy its you who need fix your windows :P
There is no way anyone could possibly manipulate address in the address bar remotely (aka web sites), because it would be security risk and we all would be bombarded by phishing sites.
I dont use IE itself, but I've seen such issue in Maxthon, which is using IE engine, but I thought it was a bug in Maxthon, now possible its actualy IE bug...
P.S. just for the record, I dont use that mod ;)
-
Thanks for the reply... i guess me and all my friends will need a win fix now :D :D :D
I meant to say u are using rewrite mod and not a particular mod..... :wink:
just interesting: anyone using IE 7 beta is getting such a problem?
-
Can you please
- Add all the updatd info in the first post?
It is really difficult to read all of the pages and know what to do or not. I stopped at page 7. It really would help others if you could edit your first post with most complete/updated mod.
- Add catagories/filenames to the url?
I know you said this is not possible due due to same names of catagoroes/files. But Can't we have them in wordpress style. Where you can add the catagory id and file if part pf the url. So a link of something like this.
instead of http://www.yourdomain.com/catid23.htm
Can we have something like this.
http://www.yourdomain.com/catid23/family-art/
or may be
http://www.yourdomain.com/23/12/family-art/mykids.html
Where 23 is catagory id and 12 is file id to keep track of the ids.
Please let me know if this is possible because i will buy a commercial license but need to know more details on it.
Thanks!
- chodhry
-
1) on first page is complete, working solution. the rest of the pages were about optional/unneccery additions
2) start reading from the end, there is a solution for image/categories names. Still, I dont understand why is that helpfull in any way, as long as you have your title fixed, the address bar is irrelevant.
-
Well it helps from SEO point of view and that I am saying from my experience. Crawlers/bots of famous search engine put more emphaysis on frequently updated static pages because they take them as if a human being is working on them instead of a database. A url with keyword is just more helpful because it adds even more weight to have them beleive that there is some human factor involved in the creation of this page so it gets better page ranking.
(Just to help you understand this more, my webmaster forum has the word "trade" in the domain and the forum is also in a folder "trade". Now even if the content and keywords and title has nothing to do with the forex or futurus trade or stock market, google still show those type of ads all over. So at leaset google gives much importance to the url itself and think of my webmaster forum as if it is a forum for trading and stock market just due to the word trade in the url.)
-
now that my
http://poview.org/categories.php?cat_id=1
changed to
http://poview.org/c1
how can i change
http://poview.org/c1?page=2
to
http://poview.org/c1.2
like v@no :wink:
-
Work good but when i login i have error
DB Error: Bad SQL Query: SELECT lightbox_id, lightbox_name, lightbox_image_ids, lightbox_private, id, lightbox_lastaction, IF(id = , id, 0) AS num FROM 4images_lightboxes WHERE user_id = 1 ORDER BY id ASC
Something is wrong in your syntax obok ' id, 0) AS num FROM 4images_lightboxes ' w linii 1
DB Error: Bad SQL Query: UPDATE 4images_users SET user_lightbox = 0 WHERE user_id = 1
Nieznana kolumna 'user_lightbox' w field list
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\3\includes\db_mysql.php:188) in c:\usr\apache\httpd\html\3\includes\sessions.php on line 92
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\3\includes\db_mysql.php:188) in c:\usr\apache\httpd\html\3\includes\sessions.php on line 92
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\3\includes\db_mysql.php:188) in c:\usr\apache\httpd\html\3\login.php on line 51
-
and this start happening after you installed this mod? - doubtfull...
check changes from this mod instead:
http://www.4homepages.de/forum/index.php?topic=10625.0
-
when navifating through your site, I´ve seen that you have even cooler URLs...
instead of
http://gallery.vano.org/en/11991.htm
you have
http://gallery.vano.org/en/11991
How is this done?
Also the language URL is done in cool style ...
Will the mod do that also like in your site?
Regards, and thanks.
Daniel
sorry, that method would require alot more changes in many .php files and require very complex .htaccess
but u could try remove .htm from sessions.php and adjust .htaccess
> V@no
Could you please let us in on your workaround for this? I dont need this for every link, just the menu items like Memberlist, Top Images, New Images, ect.. also i noticed on yoru site you have a Google Map setup, I have done the same but im restricted to how I can use it and I think if I had a link like this http://www.cydonian.com/photos/gmap insted of my current setup http://www.cydonian.com/photos/index.php?template=gmap then the google map would be a bit more interactive and user friendly.
This would really help the 4images engine I think. Not to mention my little dilemma. If you have any ideas that might help me toher than the top request please let me know.
-
i have problem with IE browser
when i'm entering to one (only in this one category problem exists)
the browser looks like been reloading page a few times... and finally get error "could not open page"
what is the problem ?
ps,. if you want to try, enter:
http://www.honda-crx.info/galeria
and then find category: Wasze CRXy (2030)
subcategory: CRX 88-92 Druga Generacja
and of course open page with IE :)
-
@sigma:
in sessions.php replace if (strstr($url, 'index.php')) {
$url = str_replace('index.php', './', $url);
}
With: if (strstr($url, 'index.php')) {
if (strstr($url, 'template=')) {
preg_match('#template=([0-9a-zA-Z_-]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php', 'page-'.$matches[1].'.htm', $url);
$query = str_replace('template='.$matches[1].'&', '', $query);
$query = str_replace('&template='.$matches[1], '', $query);
$query = str_replace('template='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('index.php', './', $url);
}
}
And in .htaccess add:RewriteRule ^page-(.+)\.htm$ index.php?template=$1&%{QUERY_STRING}
@Malcolm Feth:
nothing to do with this mod. It seems its the way IE renders your page...
-
Thanks for the response v@no. unfortunately that didnt seem to do anything.
Is there a way I can test it?
Tried
http://www.cydonian.com/photos/memberlist
Insted of
http://www.cydonian.com/photos/memberlist.php
but i get the good ol' 404 error.
maybe i have to place the .htaccess add somewhere specific in the file? top or bottom?
-
Ops, i forgot to mention, that to avoid any problems with real html files in your gallery root, I've added page- prefix to the filenames.
so in your case its page-gmap.htm
-
ah interesting. ok so i change page- to view- but it looks like some .php files wont convert, thats fine. It was really only for the gmap iframe taht i have implemented. Thanks Vano. If i have anymore questions on this I will PM you, hope thats ok. Just dont want to add to an already massive thread. Plus other people with questions.
-
i was trying to do something with my problem
when i moved a few subcategories, the problem with opening main category doesn't exists.
-
Malcolm Feth sorry, but I dont understand what is the problem.
Please explain in details and step-by-step how to reproduce it or how to see it in action.
P.S. are you sure this has anything to do with this mod?
-
www.honda-crx.info/galeria
find category named: Wasze CRXy (but do not enter in)
enter to subcategory: CRX 88-92 Druga Generacja
under IE - page reloads - all the time
and if i enter (thru admin panel) to "old style" adres (http://www.honda-crx.info/galeria/categories.php?cat_id=40)
page works great
-
Sorry, couldnt reproduce it, the page did not refresh for me... it opens instantly without any refresh...
-
from main page of gallery i'm entering "88-92 druga generacja" subdirecroty of "Wasze CRXy"
and i have something like refreshing.. i have this thing on a few computers and only under Internet Explorer
-
i am using this mod: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268
I have changed the url this mod make from:
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
to
for image --->http://www.your-site.com/imagename-andnumber-img.htm
category --->http://www.your-site.com/categoryname-andnumber-cat.htm
how can i change it to
for image --->http://www.your-site.com/imagename-img-andnumber.htm
category --->http://www.your-site.com/categoryname-cat-andnumber.htm
i tried a lot but always getting error.. any idea what i need to edit? :?
-
now that my
http://poview.org/categories.php?cat_id=1
changed to
http://poview.org/c1
how can i change
http://poview.org/c1?page=2
to
http://poview.org/c1.2
like v@no :wink:
Hello V@no... pls help
here's the category section of my sessions.php
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'c'.$matches1[1].'.'.$matches2[1], $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'c'.$matches[1], $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'c', $url);
}
}
and here's my .htaccess
RewriteRule ^c$ categories.php?%{QUERY_STRING}
RewriteRule ^c([0-9]+)\.([0-9]+)$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^c([0-9]+)$ categories.php?cat_id=$1&%{QUERY_STRING}
-
What is the problem?
-
What is the problem?
Problem is when i move my mouse over the paging links
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... Next page » Last page »
It shows:
http://poview.org/c1?page=2
not
http://poview.org/c1.2
but if i manually enter the address http://poview.org/c1.2 it works.
was i able to clear my self?
-
STEP 7 : change your htaccess...
here is mine :
RewriteEngine on
# REWRITE DES PAGES DETAILS
RewriteRule ^/image-(.*),([0-9]+)\.html$ /details.php?image_id=$2 [L]
# CATEGORIES
RewriteRule ^/categorie-(.*),([0-9]+),([0-9]+)\.html$ /categories.php?cat_id=$2&page=$3 [L]
RewriteRule ^/categorie-(.*),([0-9]+)\.html$ /categories.php?cat_id=$2 [L]
# SEARCH
RewriteRule ^/recherche-images\.html$ /search.php [L]
RewriteRule ^/recherche-images,(.*),([0-9]+)\.html$ /search.php?show_result=1&search_keywords=$1&page=$2 [L]
RewriteRule ^/recherche-images,(.*)\.html$ /search.php?show_result=1&search_keywords=$1 [L]
RewriteRule ^recherches-statistiques\.html$ /search_stats.php [L]
RewriteRule ^recherches-statistiques,([0-9]+)\.html$ /search_stats.php?page=$1 [L]
RewriteRule ^/nouvelles-images,1\.html$ /search.php?search_new_images=1 [L]
RewriteRule ^/nouvelles-images,1,([0-9]+)\.html$ /search.php?search_new_images=1&page=$1 [L]
I would like you to explain this a bit more. Is this really your htaccess file? Because it doesn't work for me. Could you please tell me what i'm doing wrong - I get a 404 error on whatever page i try to access. Thanks
-
Good The 1st page way , worked fine with 1.7.2
:D Well Done
-
What is the problem?
Problem is when i move my mouse over the paging links
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... Next page » Last page »
It shows:
http://poview.org/c1?page=2
not
http://poview.org/c1.2
but if i manually enter the address http://poview.org/c1.2 it works.
was i able to clear my self?
i have the same problema... :cry: :cry: :cry:
v@no: do you have any idea for this :?:
-
My website's language is turkish. I installed this mode and work fine but I have a problem. Turkish chars to spoil in the url, exp; http://www.xxx.com/kategori-t%FCrk-amat%F6r-resimleri-13.htm. The link must be http://www.xxx.com/kategori-türk-amatör-resimleri-13.htm. How can I fix this problem? Help please...
-
You can not use non-latin letters in the urls, period.
-
i am having troubles with the mod rewrite functions
im using a server hosted at godaddy
i have seen info like the below posted on other sites but wsnt sure what it meant
"But GoDaddy didn't like that. Another solution is to use rewrite directives, like this:
RewriteEngine on
RewriteBase /
RewriteRule ^index\.html$ index.php
But that didn't work either. When I searched the Internet, a lot of people seemed convinced that GoDaddy wouldn't let you do mod-rewrite stuff at all. But after a bunch of trial-and-error, I hit upon this:
RewriteEngine on
RewriteBase /
RewriteRule (.*)index\.html$ $1index.php
Note the slight regular-expression change. This seems to work!"
i have read that mod rewrite is supposed to be enabled on godaddy servers and that but when i make the changes and try it i just get the html page loaded and not the redirected php catagory page etc
and the html page is displayed in addresss bar and main site index page is actually what is displayed
i also heard that the .htaccess page takes a long time to update and something to do with godaddy being slow soemthing to do with php and .htaccess and stuff like that
anyone help any ideas?
*****updated*****
to all those using godaddy do the modifications in .htaccess and upload wait 5-10 minutes then upload modified sessions file and it all works
*****updated*****
Michael
-
ok read the entire post all of them and im a little confused
i got the origional mod working
my site now directs to gallery{id}.htm etc(i changed cat to gallery) anyway on all pages of my site i get the problem with the drop down box to go to different catagories firstly i want to know why it goes automatically without need to pres the go button, why have the go button??
secondly why when it goes to page it just goes to gallery.htm without the id of the catagory (it loads the correct catagory etc but address bar just says mysite etc gallery.htm)
can anyone please help
also is there a good solid mod download or single description for doing the second version with catagory and image names in the .htm page name so i would have something like gallery-{galleryname}-{id}.htm and similar for images
as its all over this posts and i cant make out which bits go where when im reading several posts
thanks
Michael
-
Dunno if i should post this here but the day after i did this `mod` im getting this error wih no thumbs on main page and this error above my banner
Warning: session_start(): open(/tmp/sess_3fed97d856e790dc7dff1bd387b34c2f, O_RDWR) failed: Permission denied (13) in /home/gazfxcom/public_html/includes/sessions.php on line 86
DB Error: Bad SQL Query: SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits, c.cat_name, u.user_name FROM (4images_images i, 4images_categories c) LEFT JOIN 4images_users u ON (u.user_id = i.user_id) WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (0) ORDER BY i.image_date DESC LIMIT 20
Can't create/write to file '/tmp/#sql_1421_0.MYI' (Errcode: 13)
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/gazfxcom/public_html/includes/db_mysql.php on line 116
i have no idea as to why this is happening because my site www.gazfx.com has been working fine up until just a couple of hours ago..any help as always greatly appreciated
-
It is now working again but all on its own..the error isnt there anymore and the thumbs have returned...
why i am i posting u may ask..
basically because i am interested to know why this happened so i can learn..
-
Something happend on the server, perhaps MySQL crashed.
When you see errors about .MYI files, first thing you should do is contact your host administrator so they could investigate the failure and while they do that you can try repair the tables in the database from phpmyadmin or any other mysql manager.
-
moin moin,
bräuchte zu diesem thema auch mal hilfe.
habe wie in dem eingangspost beschrieben die session.php veändert.
habe die htaccess ins verzeichnis gelegt in dem die installation liegt.
habe sowohl die versionen mit rewrite base (auch auskommentiert) als auch ohne versucht.
die session IDs sind immer noch da.
hier mal meine htaccess
# Begin search engine friendly links code
RewriteEngine On
# RewriteBase /download/
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
die URL der anwendung:
www.axellauer.de/download/
PS: zur vorbeugung von missverständen.
die anwendung liegt zwar schon auf meinem server ist aber noch nicht verlinkt (also nicht öffentlich)
gruss axel
-
After mod installation, is it possible to show images with old adress and new? becouse i need a little old links. And what link should be if ussing multi lang for all names? :lol:
-
yes, the "old way" will stay intact
-
Ok installed.. but how to make paging like in vano site? /cat1.2? and how to make dont show that .html like in vano site? :roll:
and how u make language in /en/page?
-
Works Perfect, thank you... www.vistawallpapers.ws
-
Hey people,
I've noticed a lot of you have asked a way to completely remove sessionid's, as google DOES NOT like it.
Just add this somewhere in your .htaccess:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Just add it at the very end of your .htaccess (for instance), and session id's are gone for good :D
getting internal server error 500 :(
Can you show your htaccess file here (or PM it to me if you don't want it out in public)
I tried this and I also get "500 Internal Server Error error"
The only lines in my .htacess are:
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
Could this be my server not allowing me to include that code?
Thanks,
Kim
-
Ok found a little problem. I run a box with ENSIM on it so when you go to www.vistawallpapers.ws/admin it brings you to the admin ensim CP of the site. Well when you login to the 4homepages CP (site cp) and try to edit a wallpaper it tries to go to www.vistawallpapers.ws/admin and not the edit image area in the scripts CP. I know I have fixed this before on other VB installs but I dont know where to change the code to fix this in 4homepages script.
-
and where the actual link pointed to? if its pointed to www.vistawallpapers.ws/admin instead of to www.vistawallpapers.ws/admin/images.php?action=blah then most probably its due to some other changes you made to the code, cause with original code all links in ACP will stay the same as without the mod.
-
and where the actual link pointed to? if its pointed to www.vistawallpapers.ws/admin instead of to www.vistawallpapers.ws/admin/images.php?action=blah then most probably its due to some other changes you made to the code, cause with original code all links in ACP will stay the same as without the mod.
Its pointing to this addy...
http://www.vistawallpapers.ws/admin/?goto=images.php
It works if you go to http://www.vistawallpapers.ws/admin/images.php
-
Is this with the original code (mod) or you've changed something?
-
I havent changed anything other than add this mod.
-
Ok installed.. but how to make paging like in vano site? /cat1.2? and how to make dont show that .html like in vano site? :roll:
and how u make language in /en/page?
anybody can help me? :lol:
-
Hi this script work excellent, now I have a problem :( I bought another domain and I like to use like alias but I have an error with this script, I don't know why, but I cant see the images, only the simple and normal links, for example, newdomain.com/register.php, newdomain.com/details.php?image_id=1383 I can acces if i put the urls normaly without this cript, newdomain.com/img1234.html using this script send me a file not found error
what changes I need to do, to make it work the short urls script in the new domain
thanks for your help
-
same server different domain? what is your setup?
what do the error logs say? if in the error logs say that /full/path/img1234.html not found that means either mod_rewrite is not installed/activated or your .htaccess not working properly...
-
it showme the default file not found server error
I think that its something with the rewrite mod because in my original domain all works propertly
Now if I enter to my site by the new alias domain the images and categories are not showing, only if I access normaly using de original url (details.php?image_id=1234)
and the single files like register.php. index.php?template=FAQ, and all the files that are not linked to the images and categories works propertly
this is mi htaccess code
#begin code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.html$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.html$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.html$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.html$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.html$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.html$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.html$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.html$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.html$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.html$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.html$ postcards.php?image_id=$1&%{QUERY_STRING}
#end code
thanks for your help
-
I'm trying to follow the guide at the first thread LINK HERE (http://www.4homepages.de/forum/index.php?topic=6729.0) but couldn't find the code to replace. I searched for code starting [qcode]function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];[/qcode] in includes/sessions.php but didn't find anymore in Version 1.7.3 (the latest version). Have the includes/sessions.php file changed in the latest version and if so could you please tell me how to MOD it to Search Engine Friendly URLs aka Short URLs?
Thank you in advance!
-
How can I generate the short url to used with the info, something like: {image_short_url} and this display the link to the image but using short url
thanks for your help
-
I have no ideat what is that you are asking about...display where?
-
People who are using 1.7.3 ,
I tested both the versions of this MOD ... ie Page 1 and Page 14 ,
Please note : the pg. 14th mod is not working for 1.7.3
------------------------------------------------------------------------------------------
i can be happy with the pg.1 but need to know does the 14th pg. mod is better in terms of SEO if yes ... pls. help the coding for 1.7.3 as well.
-
I think it is time to get Search Engine Friendly URL's in the main distirbution.
For this I open an topic in the Feedback & Suggestions Forum.
There are no comments from any developer so far but from some user who want this too.
-
hello
can i use mod sef urls for 4image gallery 1.7.3
i am not profession :oops:
please guide me step by step (http://qsmile.com/qsimages/20.gif)
sorry for my english
thank you
-
hello
can i use mod sef urls for 4image gallery 1.7.3
i am not profession :oops:
please guide me step by step (http://qsmile.com/qsimages/20.gif)
sorry for my english
thank you
Yes, you can use for 1.7.3 but the first 1st page mod . i am using it, works fine for me
but found problem using the 14th page mod
-
hi
i use it for 1.7.3
but it say this error in header gallery
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/woh06000/public_html/4imagegallery/includes/sessions.php:1) in /home/woh06000/public_html/4imagegallery/includes/sessions.php on line 84
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/woh06000/public_html/4imagegallery/includes/sessions.php:1) in /home/woh06000/public_html/4imagegallery/includes/sessions.php on line 84
Warning: Cannot modify header information - headers already sent by (output started at /home/woh06000/public_html/4imagegallery/includes/sessions.php:1) in /home/woh06000/public_html/4imagegallery/includes/sessions.php on line 92
Warning: Cannot modify header information - headers already sent by (output started at /home/woh06000/public_html/4imagegallery/includes/sessions.php:1) in /home/woh06000/public_html/4imagegallery/includes/sessions.php on line 92
Warning: Cannot modify header information - headers already sent by (output started at /home/woh06000/public_html/4imagegallery/includes/sessions.php:1) in /home/woh06000/public_html/4imagegallery/includes/sessions.php on line 92
what is the problem ?
-
you have something above/before <?php in includes/sessions.php
Perhaps you edit in a editor that uses UTF-8/UNICODE encoding and it saves so-called "BOM" info with the file. (Notepad/wordpad can do that). Make sure when you save the file, it saves in ASCII encoding.
Another possibility is that you uploaded modifyed .php files in binary mode and not in ASCII (text).
-
hello
tnx for your guide (it work for my gallery )tnx
i have another question
this is my gallery www.freertl.com/4imagetest
how can i change link categories and image
for exapmle
http://www.freertl.com/4imagetest/img2.htm
to this :
http://www.freertl.com/4imagetest/madonna.htm
or
http://www.freertl.com/4imagetest/cat-madonna.htm
(http://qsmile.com/qsimages/42.gif)
-
please start reading the replys, we've discussed this already and there is a working code somewhere in the replys...
-
hi
i use this code: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268
but my gallery have a problem it say this error :
Fatal error: Call to undefined function get_category_url() in /home/woh06000/public_html/4imagetest/includes/sessions.php on line 456
you can see my gallery with error: http://www.freertl.com/4imagetest
-
hmmm...what if you add the code in step 2 into includes/functions.php instead of includes/sessions.php ?
-
i add this code
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
in the includes/sessions.php
-
so there is still no solution with paging problem?
hot to make a "cat1_2.htm" out of "cat1.htm?page=2"
:?:
-
i have been long bugged by this ... the seo url works fine on my site but when a user runs a search and it generates result pages with 3-4 pages , it doesnt work on clicking the 2nd page link. it takes them to the advanced Search
However pagination works fine on normal category pages with multiple pages
anyone have any advice ?
-
what is the difference in the seo and normal urls for the second page?
-
This should be easy, but I haven't found a solution yet...
How to use .htaccess to rewrite the Keywords links from this:
<a href=" http://www.site.com/photos/search.htm?search_keywords=dogs_cats">DOGS & CATS</a>
To this:
<a href=" http://www.site.com/photos/keywords/dogs_cats">DOGS & CATS</a>
I would love to have this!!!
-
hello all.
I have big problem. my problem is this system is showing doesnt lacking pages.
for example: there is no addresses like http://www.lavinya. net/galeri/img19933.htm :(
but it is showing . redirect to main page (with 302 status code).
file not 302, it must be 404 status code. this is spam I think. 8O
please help me :?
-
I didnt understand...how is that related to this mod?
-
Djith and me ordered this mod, to put image name and category name in url.
After testing and debugging, we think it is ok now, and we are happy to share it with you.
This mod puts the names of the categories and the images in the url like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
you can see it working on http://www.edupics.com (1.7) and http://www.avatarcorner.com (1.7.1)
on these sites the "img" and "cat" in the url were changed to some keywords.
( see http://www.4homepages.de/forum/index.php?topic=6729.msg41243#msg41243 )
there is also the possibility to make url's with full path to image and categories : ( see //comment in mod )
for image --->http://www.your-site.com/img-full path to image.htm
category --->http://www.your-site.com/cat-full path of category.htm
This was not tested on our sites.
Don't forget to backup your files before editing !
files to be edited :
.htaccess
includes/sessions.php
=================================================
1. at the end of .htaccess, add following code :
=================================================
#Mod_bmollet : category name in URL
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
=======================================================================
=========================================
2. add this code to include/sessions.php
=========================================
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
========================================================================
========================================================================
3. In include/sessions.php replace function url(...) by following code.
========================================================================
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
========================================================================
========================================================================
4. In include/sessions.php following functions are useful for URL's like
yoursite.com/maincategory/subcategory/imagename.htm
This is not necessairy if you want url's (like we used on our sites) like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
========================================================================
//Mod_bmollet
/**
* Get the category id
* @param array $path An array with the path of the category
* @param int $parent_id The parent id of the first item in the $path
*/
function get_category_id($path,$parent_id = 0)
{
$cat_name = array_shift($path);
global $site_db;
$sql = "SELECT cat_id FROM ".CATEGORIES_TABLE." WHERE cat_parent_id = $parent_id AND cat_name = '".mysql_real_escape_string($cat_name)."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
if( count($path) != 0)
{
return get_category_id($path,$row['cat_id']);
}
else
{
return $row['cat_id'];
}
}
//Mod_bmollet
/**
* Get the image id
* @param array $path An array with the path of the image
*/
function get_image_id($path)
{
global $site_db;
$image_name = array_pop($path);
$cat_id = get_category_id($path);
$sql = "SELECT image_id FROM ".IMAGES_TABLE." WHERE image_name = '".mysql_real_escape_string($image_name)."' AND cat_id = $cat_id";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
return $row['image_id'];
}
========================================================================
Hello,
Has someone gotten this to work with 1.7.2 ? Thank you.
-
Heh, that's exactly what I was looking for, thanks a lot :)
How can I replace member urls to http://www.domain.de/members/username ? (Also special chars like . or , or umlauts should be removed and spaces should be re-written to -)
Would also be good to be able to rewrite http://www.domain.de/cat56.html?page=2 to http://www.domain.de/cat56_2.htm
As far as I can see google still craws on dynamic urls, will they stop using those old ones after a while and will add the new html ones then instead?
-
Heh, that's exactly what I was looking for, thanks a lot :)
How can I replace member urls to http://www.domain.de/members/username ? (Also special chars like . or , or umlauts should be removed and spaces should be re-written to -)
Would also be good to be able to rewrite http://www.domain.de/cat56.html?page=2 to http://www.domain.de/cat56_2.htm
As far as I can see google still craws on dynamic urls, will they stop using those old ones after a while and will add the new html ones then instead?
So you're saying you got for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm working on your 1.7.3 4images site?
-
No, I'm using 4images 1.7.2 with the security fixes because I'm using a special integration to my vBulletin Forums, the sessions.php from 1.7.3 differs from the one of 1.7.2, thus I'm unable to update my 4images until a new, up to date Version of my integration mod is released.
I'm using the version from the first post in this thread, I didn't get the one from page 14 to work, I think that was the one you mentioned.
-
No, I'm using 4images 1.7.2 with the security fixes because I'm using a special integration to my vBulletin Forums, the sessions.php from 1.7.3 differs from the one of 1.7.2, thus I'm unable to update my 4images until a new, up to date Version of my integration mod is released.
I'm using the version from the first post in this thread, I didn't get the one from page 14 to work, I think that was the one you mentioned.
Sorry, I meant to ask if you got the page 14 one to work with 1.7.2 but I guess you answered for me. So what mod is it that you're using? The user integration mod?
-
I install the second MOD of this (Page 14) but I get this error:
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/content/html/includes/sessions.php on line 626
And returning to my last problem, (I added an alias domian to my actual site and the original MOD didnt work) when I acces aliasdomian.com/cat3.html it showme a ERROR 404 file not found, but if I acces aliasdomain.com/categories.php?cat_id=3 it works fine
thanks for your help
-
Hi Vano,
I am getting 404 error on the site
http://www.t-mobile-t.com/
on images if you look into it
Will really apperciate your guidence :)
Thanks and Regards,
Saad
-
404 error is not usefull untill you look in the logs ;)
-
hi to all
So the mod at 14th page still doesn't work with 1.7.3... is it right?
Are there any SEF solutions for 1.7.3 (i don't like the 1th page one).
thanks to all
AD
-
Hi
I add the next line to my httacces
RewriteRule ^([a-zA-Z0-9_\-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
now I cant retrive a simple html out of the script of 4images
someone can help me with this error?!
-
1) page 14 - might be different for everyone, it depence on personal settings on this forum so, please post a url to the reply you are talking about instead.
2) you've made a misstake when modifyed sessions.php perhaps missed { or }
-
Hallo
hat jemand schon mal eine .htaccess auf einer Subdomain unterzubringen.
Bei der Hauptdomain kplappt es mit einer .htaccess (es liegt also nicht am Server)
Durch die umgebaute sessions.php zeigt der neue Pfad zwar super .htm an, aber es wird die Error 404 Seite gezeigt.
Vielleicht ein Tipp?
Gruß Steffen
-
Hallo,
mir wäre auch schon wirklich geholfen, wenn ich die Bilder in der detail.php nicht mit image_id sondern z.B. reisebericht_id abspeiern könnte.
In welcher php wird denn die image_id festgelegt?
Gruß Steffen
-
Excellent Code.
Thanks So much friend!!
:thumbup:
-
Do you have 14th page SEF code working on your 1.7.3 or 1.7.4 ?
Still i can't have it working on 1.7.4 (it was ok on 1.7.1)
:(
AD
-
Everything its working now!! :D :D :D
The only thing that I like its to remove the img and image_id prefix and show only the image_name.html or remove the image_id to have img-image-name.html
I search page by page but i didnt found the code to change that
any one ?! :P
thanks for your help!!
-
Has the first post in this thread been updated with the latest updates of the thread conversation?
I am very confused after reading about 15 pages of this thread and can't keep track of the changes and don't know if post #1 has had been edited to include all of the changes throughout the entire thread.
/me is CONFUSED!
-Tom
-
Has the first post in this thread been updated with the latest updates of the thread conversation?
« Letzte Änderung: Februar 05, 2006, 21:06:11 von V@no »
I don't think so...
-
Please help me!!
I check and try to remove the image_id of the URL for the images and for the categories
I like to change:
site.com/img-imagen1-1.html
site.com/cat-1.html
to:
site.com/img-imgen.html
site.com/categorie.html or site.com/categorie/
please help me!!!!
:(
thanks for your help!
-
I've installed the mod published on page 14 and it's really changed the urls,
The only problem is when i click on a category i'm getting "error - page not found"
What could be the problem?
-
HI
Thank You for a this mod.
It works great with 1.7.4.
Now some questions.
1. How can i change profile links to short?
In my htaccess is
RewriteRule ^profile([0-9]+)\.htm$ member.php?action=showprofile&user_id=$1&%{QUERY_STRING}
but they are stil
http://localhost/4images/member.php?action=showprofile&user_id=70
should i chande something in sessions.php?
2.I found here question about problems with dropdown form but i cant find answer
Its strange my dropdown works for all cattegories but there is always one url
http://localhost/4images/cat.htm
How can I add here cat id?
3. When I use search there is always same url
Wow can I add searching word to URL?
http://localhost/4images/search_xxxx.htm
xxxx- searching word
and same for user search
----------- edit -----------------------
add1
in sessions.php
before
elseif (strstr($url, 'postcards.php?image_id=')) {
add
elseif (strstr($url, 'member.php?action=showprofile&user_id=')) {
preg_match('#user_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$url = str_replace('member.php', 'profile'.$matches[1].'.htm', $url);
}
return $url;
}
Now short urls for profiles works and looks like
http://localhost/4images/profile49
And now I planing to make them like
http://localhost/4images/nick/profile
later planing
http://localhost/4images/search.htm?search_user=nick
change in to
http://localhost/4images/nick/gallery
If someone could help...
-
xec , we try codes which you give in 14. page..
İt is perfect :) thanks but only step 4. is not work
Our adress show always www.site-name.com/cat-category.htm or www.site-name.com/img-imagename.htm
But we want to show www.site-name.com/catname/subcatname/imagename.htm
How we can do this?
And my second problem is i want to use çşğü... letters in adress exm. www.site-name.com/çortşş.htm how we can do it??
Thanks
-
xec , we try codes which you give in 14. page..
İt is perfect :) thanks but only step 4. is not work
Our adress show always www.site-name.com/cat-category.htm or www.site-name.com/img-imagename.htm
But we want to show www.site-name.com/catname/subcatname/imagename.htm
How we can do this?
And my second problem is i want to use çşğü... letters in adress exm. www.site-name.com/çortşş.htm how we can do it??
Thanks
Great question!
I want do it too.
Please help us!
Thank a lot!
-
Hello again!
I am using versuion 1.7.1
MOD of first page is working great for me.
MOD on page 14 (kief) i receive following error:
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/content/html/includes/sessions.php on line 626
Perhaps i have made something wrong.
Where do i have to put in the 2. code tags exactly?
I am also using MOD lang-select. Could be a problem with the code according to this MOD?
I am not a coder, only a question or idea.
Is it not possible to build in the "clickstream-tag" as URL? :idea:
-
Please help me!!
I check and try to remove the image_id of the URL for the images and for the categories
I like to change:
site.com/img-imagen1-1.html
site.com/cat-1.html
to:
site.com/img-imgen.html
site.com/categorie.html or site.com/categorie/
please help me!!!!
:(
thanks for your help!
I want this too. But for category only (beacause the file name can be existed).
Please help us!
Thank you!
-
This is not so easy and associated with heavy modification...
Without the IDs the Script doesn't now which Cat or Img you mean....
-
Hy,
I like to change
site.com/cat-catname-id.htm to site.com/catname-id.htm
How can i do that?
-
My webhoster today was updating PHP Version 5.1 to Version 5.2.
Now all my category and image links not working anymore also the HTML-Links.
I am using MOD of page 1 in this topic.
SO what is the problem now.
My .htaccess?
Please help me!
I attached my current sessions.php and .htaccess files.
-
Thanks for help!
I solved the prob.
Deleting this MOD from Page 1 and 9, also .htaccess file.
Now it is working again.
:D
-
Hy,
I like to change
site.com/cat-catname-id.htm to site.com/catname-id.htm
How can i do that?
Does anyone know?
-
Hey.
I have link like this:
http://ojejku.net/img-tapety-30-resplendent_ether-1454.htm
So it's
img-catname-catid-imagename-imageid.htm
How can i change this into
tapety/resplendent_ether.htm or tapety-resplendent_ether.htm
-
Without the IDs the Script doesn't now which Cat or Img you mean....
-
Cool modul, work well for my photo gallery Gadis Photo (http://www.gadisphoto.com) with install version 1.7.4
thanks 8)
-
After instaling this mod my category_dropdown_selfjump won't work :/
Please check it on my gallery (http://my gallery) <- link
Dropdown is just under search form on he left
Url result is http://say10.pl/cat
and it should be for example http://say10.pl/cat49.htm
-
Just spent the past couple of hours reading through all 26 pages in this thread... phew!
Does the code on page 14 by kief24 (http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268) work okay with v1.7.4 ?
To V@no
(firstly thank you for a wonderful piece of software, and your help on the forums!)
-- you say that changing the URL from 4images/cat12.htm to 4images/category/imagename-ID.htm isn't necessary for SEO ... does this thread not convince you that most users would love to have this feature as standard?
In my opinion, it is very useful for SEO purposes to have the 2nd examples URL structure
I think it would be helpful to have kief24's code in a new thread, or at least more prominent on the forum, to save people having to dig through 26 pages (and keep re-asking the same questions!)
-
:D Ok I am using 4images version 1.7.4 on PHP 5.2.1 and the original Mod of page 1, top of page2, page6 and page9. (NOT Page14 Kief)
Everything seems to be working fine!
-
:D Ok I am using 4images version 1.7.4 on PHP 5.2.1 and the original Mod of page 1, top of page2, page6 and page9. (NOT Page14 Kief)
Everything seems to be working fine!
Same is here
-
change sessions.php
admin panel error.
An unexpected error occured. Please try again later.
An unexpected error occured. Please try again later.
Warning: Cannot modify header information - headers already sent by (output started at /home/salgitc/public_html/saderesim/includes/db_mysql.php:192) in /home/salgitc/public_html/saderesim/admin/admin_functions.php on line 168
Warning: Cannot modify header information - headers already sent by (output started at /home/salgitc/public_html/saderesim/includes/db_mysql.php:192) in /home/salgitc/public_html/saderesim/admin/admin_functions.php on line 169
Warning: Cannot modify header information - headers already sent by (output started at /home/salgitc/public_html/saderesim/includes/db_mysql.php:192) in /home/salgitc/public_html/saderesim/admin/admin_functions.php on line 170
Warning: Cannot modify header information - headers already sent by (output started at /home/salgitc/public_html/saderesim/includes/db_mysql.php:192) in /home/salgitc/public_html/saderesim/admin/admin_functions.php on line 171
Warning: Cannot modify header information - headers already sent by (output started at /home/salgitc/public_html/saderesim/includes/db_mysql.php:192) in /home/salgitc/public_html/saderesim/admin/admin_functions.php on line 172
index.php error!
An unexpected error occured. Please try again later.
An unexpected error occured. Please try again later.
-
Hello.
I applied the mod and worked without any problems.
Can somoeone please tell me how to modify this? I am sure more users asked but I could not find a solution.
- How can I made it show cat_name.html in address bar rather than car_numbe.html ?
- How could I make it show cat_name/photo_title.html ? (This one probably needs the photo number appended before .html because photo titles are not unique)
I would like:
site.com/Porsche/
and
site.com/Porsche/porsche_carrera_5435.html
Can anyone help? Thank you very much.
- Adrian.
-
Anyone ^? Does this require many modifications?
-
It took me 1 full day to read all the 26 threads. the page 1 mod works fine. however i like to have category/subcategory/image-name.htm in the URL. i have implemented page 14 but wothout success. then i have backed up my sessions.php file to restore my site. since my site http://www.celebvilla.com/index.php deals with celebrities, i definitely look for a mod to show categories/subcategories. If anybody succeeded in implementing page -14 mod. pl give us an updated fresh mod, so that we need not be subjected to spend so much time for nothing.
-
Hello to all I have installed mod but nonprofit that works to me It appears to me the following error :cry:
Forbidden
You don't have permission to access /a on this server.
--------------------------------------------------------------------------------
Apache/2.0.52 (Red Hat) Server at www.fondosdepc.com.ar Port 80
somebody I could be helped
-
After instaling this mod my category_dropdown_selfjump won't work :/
Please check it on my gallery (http://my gallery) <- link
Dropdown is just under search form on he left
Url result is http://say10.pl/cat
and it should be for example http://say10.pl/cat49.htm
I have the same problem. I searched a solution but couldn't find it on this forum; here's my category_dropdown_form.html
<form method="post" name="jumpbox" action="{url_categories}">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="bottom">{category_dropdown_selfjump}</td>
<td valign="top">
<input type="submit" value="{lang_go}" class="button" />
</td>
</tr>
</table>
</form>
any ideas?
-
I will pay $30 by PayPal for this mod (if is without bugs):
Like other people I need this:
1. Category and sub category names in the url instead of 'cat_120.htm':
gallery/cat120.htm
to become
/gallery/lamborghini/
and
/gallery/muscle_cars/dodge/
2. Url of image details to show image name and it's category/sub category:
/gallery/img_120.htm
to become
/gallery/lamborghini/countach_43543.html
and
/gallery/muscle_cars/dodge/black_dodge.htm
Can anyone do this? I can pay by PayPal. I will need the exact instructions for where to modify rather than the modified scripts.
Thank you.
- Adrian.
-
I will pay $30 by PayPal for this mod (if is without bugs):
Like other people I need this:
1. Category and sub category names in the url instead of 'cat_120.htm':
gallery/cat120.htm
to become
/gallery/lamborghini/
and
/gallery/muscle_cars/dodge/
2. Url of image details to show image name and it's category/sub category:
/gallery/img_120.htm
to become
/gallery/lamborghini/countach_43543.html
and
/gallery/muscle_cars/dodge/black_dodge.htm
Can anyone do this? I can pay by PayPal. I will need the exact instructions for where to modify rather than the modified scripts.
Thank you.
- Adrian.
To "sweeten" the pot I will pay the same for a working install of this mod using ver 1.7.4. I can email you the files for you to make the changes as I have made some customizations for my site.
-
Guys this will not work!!! Read some of the previews Post... :roll:
01.02.2007 and 09.02.2007 i wrote:
Without the IDs the Script doesn't now which Cat or Img you mean....
Without the cat id and image id it will not work!
And modify it to get it work without the cat_id for 30$???
No way... (o:
-
ok, but what about the category_dropdown_form.html? is it working on your gallery?
-
great work ..thanks a lot..
-
Hallo zusammen.
Heute ist mir zufällig aufgefallen, das mein Clickstream, egal ob aus der Kategorie oder der Detailansicht immer auf den ROOTPFAD verweist und nicht auf die index.php.
Ich habe alle configs durchgeschaut (detail.php, index.php), aber irgendwie finde ich den Fehler nicht.
Als Startdatei nutze ich eine index.htm die auf das entsprechende Template verweist. Klicke ich auf HOME im Clickstream lande ich wieder auf der index.html und nicht auf der index.php :-(
details.php
$clickstream = "<span class=\"clickstream\"><a href=\"".$site_sess->url(ROOT_PATH."index.php")."\" class=\"clickstream\">".$lang['home']."</a>".$config['category_separator'];
Derzeit habe ich es so gelöst, damit ich über home auf meine index.php komme:
im template home.html
<td>  <a href="/index.php"><span class="smalltext2">Galerie</a><img src="{template_url}/images/spacer.gif" width="4" height="4" alt="" /><span style="color:#EAFF27;font-size: 11px;font-family:Tahoma">{clickstream}</span></td>
in der betreffenden php Datei:
$clickstream = "<span class=\"clickstream\"><a href=\"".$site_sess->url(ROOT_PATH."index.php")."\" class=\"clickstream\"></a>".$config['category_separator'].get_category_path($cat_id)."</span>";
Aber da muss es doch eine andere Lösung für geben, oder?
Ich hatte dieses schon hier einmal gepostet:
http://www.4homepages.de/forum/index.php?topic=17284.new;topicseen#new (http://www.4homepages.de/forum/index.php?topic=17284.new;topicseen#new) und Kurt meinte das es an diesem MOD liegen könnte.
Hier ein nicht geändertes Template. Klickst du auf HOME im Clickstream landest du wieder ganz am Anfang :-(
http://rinaldos.homeip.net/guestbook.php (http://rinaldos.homeip.net/guestbook.php)
Gruss Ingo
-
Hello
I need help...
My problem is - look what pages Google indexes on my site - http://www.google.com/search?client=firefox-a&rls=org.mozilla%3Apl%3Aofficial&channel=s&hl=pl&q=site%3Awww.ojejku.net&lr=&btnG=Szukaj+w+Google (http://www.google.com/search?client=firefox-a&rls=org.mozilla%3Apl%3Aofficial&channel=s&hl=pl&q=site%3Awww.ojejku.net&lr=&btnG=Szukaj+w+Google)
It indexes http://www.ojejku.net/img<img_id>.htm .... how can i change this ?
I've installed MOD from page 14.
Oh, and theres some http://www.ojejku.net/img<img_id>.search.htm indexed too...
And this www.ojejku.net/search.htm?search_keywords=<keyword> :(
PLZ help!
-
Hello Acidgod,
Without the cat id, cat does not work but isn't it possible like;
{catname}-catid/{imgname}-imgid.html
which would look like
/muscle-cars-12/dodge-24.html
this would do as well. Is there a mod like this? :=)
Guys this will not work!!! Read some of the previews Post... :roll:
01.02.2007 and 09.02.2007 i wrote:
Without the IDs the Script doesn't now which Cat or Img you mean....
Without the cat id and image id it will not work!
And modify it to get it work without the cat_id for 30$???
No way... (o:
-
new seo for 4images
http://www.4homepages.de/forum/index.php?topic=17598.0
-
http://www.wallpaper-pack.com <~~ success!!!!
-
Although the friendly URL is displaying perfectly in the browser but did anyone notice that when you use any sitemap tool to generate the sitemap, it returns something like that:
http://www.example.com/./cat1.html
http://www.example.com/./wallpaper1.html
http://www.example.com/././cat2.html
http://www.example.com/././wallpaper2.html
The /./ is increasing in the URL when more entries are generated. I have tried a few online free tool to confirm and the result are the same. So I believe it's something to do with the script/mod etc.
-
Is the URL structure that leoseo mentions possible with 4images?
{catname}-catid/{imgname}-imgid.html
/muscle-cars-12/dodge-24.html
(or even better - in my opinion - the same URL without .html on the end)
If I can solve my problems with the URL structure I am then ready to use 4images on my live site :)
Without the cat id, cat does not work but isn't it possible like;
{catname}-catid/{imgname}-imgid.html
which would look like
/muscle-cars-12/dodge-24.html
this would do as well. Is there a mod like this? :=)
Guys this will not work!!! Read some of the previews Post... :roll:
01.02.2007 and 09.02.2007 i wrote:
Without the IDs the Script doesn't now which Cat or Img you mean....
Without the cat id and image id it will not work!
And modify it to get it work without the cat_id for 30$???
No way... (o:
-
also, has anyone been able to solve the problem of the category drop-down form?
If I install this mod, my category drop-down no longer works :(
It just redirects to www.mysite.com/cat.htm
whatever option I choose on the dropdown
I searched through the 27 pages but didn't see a solution
-
there is another seo mod, which works http://www.4homepages.de/forum/index.php?topic=17598.0
-
there is another seo mod, which works http://www.4homepages.de/forum/index.php?topic=17598.0
I've already tried out that MOD c-bass.
It looks good, but I don't have the right skills to manipulate the URL the way I want it - please take a look at page5 on that thread (http://www.4homepages.de/forum/index.php?topic=17598.60) for my request/problem :)
-
Is the Mod you are discussing here a program I can down load? If si, where? Or is it just code to install yourself.
Thanx :roll:
-
Installed the kief24 modification: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268
and seems to work perfectly, category links work great but when i click con an image thumbnail i go to the index page an nothing happen, im using the same keyword for both, categories and details page so the generated links are:
category: domain.tld/keyword-catname-id.htm
image: domain.tld/keyword-imagename-id.htm
Could be this the problem? If it is, how can y fix it?
Thanks 8O
-
ok, found the problem, you cant use the same keyword for categories and detail pages, :arrow: :wink:
-
Sorry i found the answer on page 2...
-------------------------------
Hi i installed the "[Mod] Search Engine Friendly URLs aka Short URLs " - it works and i have a question... is it possible to make the URL's like " yourhomepage.com/?template=faq or yourhomepage.com/index.php?template=faq" also search engine friendly? (url is only an example)
THX for answers! Greetz
-------------------------------
QUESTION ANSWERED!!!
-
I was wondering if anyone had an idea how to implement keyword specifil urls? While catagory2.htm\product3.htm helps the search engines spider the site it doesnt take SEO into mind. Keyword spedific urls while not proven, have been clearly noted as having a SE advantage. www.widgets.com/bluewidgets/trianglewidget.htm statistacally will get better PR than say www.widgets.com/prodx.htm
anyone know to implement that in the code?
there is something for you, try to create or install your gallery inside a folder with keywords name. Example: www.yourdomain.com/widgets/
then replace "img" or "cat" in your htacces and sessions.php for other keywords, then you will get url like mine:
http://www.ticas.co.cr/fotos_de_chicas/modelos_750.htm (i have replaced "img" for "modelos_" in both files)
-
Hey dar!
I Need some help please..
Ive installed your mod for short urls http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268 (http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268)
It works fine, and ive also installed Google Sitemap:http://www.4homepages.de/forum/index.php?topic=15687.0 (http://www.4homepages.de/forum/index.php?topic=15687.0)
Now i'd like to know how i can have the same urls in my sitemap as my gallery?
Hope you cna help me :wink:
Julz
-
Hello
I know the next
How to convert to and from the links
member.php?action=showprofile&user_id=1 convert mamber-1.html
search.html?search_keywords=kids convert search-kids.html
search.html?search_new_images=1 convert new-images.html
cat4.html?page=2 convert cat4-2.html
search.html?show_result=1&page=2 convert search-2.html
and And
add title keyword to searching Add title keyword to searching Taitl title with the addition of each search and keywords
Note I can work foodstuffs Reiter, but I do not know how to work the file
sessions.php
And how addendum inside.
Therefore I need explanation Thank
-
please help me
-
Can this MOD be used without .htaccess? Because my server don't allow it... :(
-
??
-
waiting ....
-
sammas my brother :)
seams there is no1 who can help.
-
Nicky my friend sorry :mrgreen:
how can help me
-
I don't know what I've done wrong, if anything, but when I click on one of the pictures in my gallery, I get a 404 error instead of the right page - The url looks right, but it can't find the page:
http://www.wannaberichtoo.com/wallpaper/r-nature-1-35-below-kenai-alaska-35.htm (http://www.wannaberichtoo.com/wallpaper/r-nature-1-35-below-kenai-alaska-35.htm)
Here is the code for my .htaccess file:
# Begin search engine friendly links code
RewriteEngine On
RewriteBase /wallpaper/
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
I'm at a loss, please help me,
Joanne
-
Moin Moin!
Da meine Englischkenntnisse leider nahezu unbrauchbar sind, versuche ich das hier einmal auf deutsch. :roll:
Ich nutze diesen Mod schon seit Monaten ohne Probleme. Am Montag hat mein Provider ein Betriebssystemwechsel auf Debian durchgeführt und prompt gibt es Schwierigkeiten. Wenn ich die Seite zum ersten Mal, frisch im neuen Browserfenster aufrufe und dann auf die Galerieseite gehe, haben alle URLs wieder eine Session-ID. Ich vermute, dass das Problem in der Index.php liegt. Erst nach dem zweiten Durchlauf der Index.php tauchen die Session-IDs nicht mehr auf.
Da mein Provider auch keine Lösung parat hat, baue ich auf die Kompetenz dieses Forums. Kennt einer das Problem...?
Ganz doll dankbar für eine Lösung :D
Kay
-
Hallo,
ich habe das gleiche Problem. Jedoch seit Anfang an. Wenn man die Gallery zum ersten Mal aufruft, haben alle URLs eine Session-ID. Wenn man weiterklickt, dann geht diese weg. Habe nun alles x-mal neu installiert und ausprobiert. Jedoch ohne Erfolg. Hat jemand eine Idee an was es liegen kann bzw. kann mir jemand seine htaccess + sessions.php, die 100% funktioniert zur Verfügung stellen ? Wäre noch einen Versuch wert.
-
Moin Moin!
Hier ist die Lösung: http://www.entwickler-blog.de/archiv/251-Session-ID-nicht-in-der-URL-sondern-nur-im-Cookie-speichern.html
(http://www.entwickler-blog.de/archiv/251-Session-ID-nicht-in-der-URL-sondern-nur-im-Cookie-speichern.html)
Du brauchts dafür eine eigene separate php.ini, in der "session.use_trans_sid" auf off gestellt werden muss. Das musst Du mit deinem Provider klären. Bei hat sich das Problem damit auf jeden Fall erledigt gehabt.
Viel Glück und viele Grüße aus Hamburg
Kay
P.S. Und auch ein "Frohes Neues" an alle hier :)
-
It is possible to have this Mod without the .htaccess file?
Because my Server don't allow it...
Thanks!
-
I want to use Rewrite on the upload feature as well.
Therefor I have entered this into .htaccess:
RewriteRule ^catupload([0-9]+)\.html$ member.php?action=uploadform&cat_id=$1&%{QUERY_STRING}
But it doesn't work. Why not?
Thanks
For one thing, You cannot even access the upload button until you're logged in, which google can't do. Furthermore, it's no big deal about rewriting search url's either, as Google cannot search.
-
I have found one problem with this, I'm hoping someone can help. When I go to lightbox and click an image, the image url is now http://www.domain.com/image222.lightbox.htm, whereas everyewhere else on my site, the image is http://www.domain.com/tattoo-designs-web-face-222.htm.
How can I get it to show correctly like the rest of my site?
Djith and me ordered this mod, to put image name and category name in url.
After testing and debugging, we think it is ok now, and we are happy to share it with you.
This mod puts the names of the categories and the images in the url like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
you can see it working on http://www.edupics.com (1.7) and http://www.avatarcorner.com (1.7.1)
on these sites the "img" and "cat" in the url were changed to some keywords.
( see http://www.4homepages.de/forum/index.php?topic=6729.msg41243#msg41243 )
there is also the possibility to make url's with full path to image and categories : ( see //comment in mod )
for image --->http://www.your-site.com/img-full path to image.htm
category --->http://www.your-site.com/cat-full path of category.htm
This was not tested on our sites.
Don't forget to backup your files before editing !
files to be edited :
.htaccess
includes/sessions.php
=================================================
1. at the end of .htaccess, add following code :
=================================================
#Mod_bmollet : category name in URL
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
=======================================================================
=========================================
2. add this code to include/sessions.php
=========================================
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
========================================================================
========================================================================
3. In include/sessions.php replace function url(...) by following code.
========================================================================
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
========================================================================
========================================================================
4. In include/sessions.php following functions are useful for URL's like
yoursite.com/maincategory/subcategory/imagename.htm
This is not necessairy if you want url's (like we used on our sites) like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
========================================================================
//Mod_bmollet
/**
* Get the category id
* @param array $path An array with the path of the category
* @param int $parent_id The parent id of the first item in the $path
*/
function get_category_id($path,$parent_id = 0)
{
$cat_name = array_shift($path);
global $site_db;
$sql = "SELECT cat_id FROM ".CATEGORIES_TABLE." WHERE cat_parent_id = $parent_id AND cat_name = '".mysql_real_escape_string($cat_name)."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
if( count($path) != 0)
{
return get_category_id($path,$row['cat_id']);
}
else
{
return $row['cat_id'];
}
}
//Mod_bmollet
/**
* Get the image id
* @param array $path An array with the path of the image
*/
function get_image_id($path)
{
global $site_db;
$image_name = array_pop($path);
$cat_id = get_category_id($path);
$sql = "SELECT image_id FROM ".IMAGES_TABLE." WHERE image_name = '".mysql_real_escape_string($image_name)."' AND cat_id = $cat_id";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
return $row['image_id'];
}
========================================================================
-
Many Thanks. It works fine!
Danke, damit funktioniert meine Seite nun viel besser und
die urls lassen sich viel leichter feststellen... :D
ProDez,
http://www.portavision.de/mediacenter/
-
Anybody knows, if it works on 1und1 hosting? Tried to install and it did not work on my homepage http://www.fotoclub.robertmagel.de/
Many Tnx
-
Hallo,
ich musste den MOD wieder bei mir wieder entfernen, weil ich Fehler 404 bekomme, sobald ich die home.html verlasse.
Eine Lösung zu dem problem konnte ich leider hier nicht finden.
Viele Grüße
Suricata
-
geht das auch mit der 1.7.6 ?
-
okie
I read all post of this topic but it so confution
What correct the way to hack mod for seo friendly.
I want it like:
sitename.com/categories -> and title of page like : Categories - <title of website>
sitename.com/categories/img-name.html -> and title of page like: img-name - <title of website>
i think it better for SEO.
The gallery source can do (http://gallery.menalto.com/) but is very slow, that i use 4images.
Please help.
Thanks all
-
Does this MOD work with v1.7.6? I already tried the Google SEO mod with no success on 1.7.6.
-
Does this MOD work with v1.7.6? I already tried the Google SEO mod with no success on 1.7.6.
yes, works pretty good (http://www.myanimalsworld.com (http://www.myanimalsworld.com))
-
Does this MOD work with v1.7.6? I already tried the Google SEO mod with no success on 1.7.6.
yes, works pretty good (http://www.myanimalsword.com (http://www.myanimalsword.com))
Nice, thanks allot for the reply om6acw!! I'll try installing when I get back home. I'll post a link if I'm successful.
-
I want ask if you plan make it little more "seo" :-) there is another "seo" mod that make url long but readable by people..
the problem is, only your seo mod support another mod here that will make sitemap.xml for google
+ im asking.. what is better. these short anonymous url + sitemap
or long human readible without sitemap ? (for google)?
-
Hi all
Please help
I want to shorten this link:
http://sitename.com/search.htm?search_keywords=pic
To:
http://sitename.com/search-pic.htm
How can I do that
Thanks
-
Hello,
i have the Gallery 1.7.6. But this Mod dont work with 1.7.6.
I Searched the Code from Step 1 in Sessions.php
The Searched Code is:
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
But my Code is:
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
I did it then test done
/*
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', './', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
Then I created the htaccess!
With this Code:
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
But now I can on my site no longer accessible!
This Error:
Server Error!
The request can not be answered because an internal server error. The server is either overloaded or an error in a CGI script has occurred.
Unless you consider it a malfunction of the server hold, please inform the Webmaster.
Then I made, as described with the PIX!
#RewriteBase /
Replace with:
RewriteBase /pix/
But dont work!!!
My Complete session.php is current without the code:
please attach the files to the post. Forum's database space is not unlimited
My Session.php with the code:
please attach the files to the post. Forum's database space is not unlimited
-
Are you sure your server supports mod_rewrite? restore original sessions.php and see if site works with code in .htaccess.
-
Hello,
The mod_rewrite works on my server, but not in xammp! I now have my site on my server load and to the extent it works well, but the categories are no longer open.
-
try this code instead:
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
-
WOW!
Thank you very much my friend!
-
Hello,
I now have a bit of testing and some other links with mod_rewrite changed such as: contact.html and so forth. But a setting is not accepted it with the self-created templates to be done.
Here again what I did.
---
Hallo zusammen,
ich habe nun ein wenig getestet und einige weitere Links mit mod_rewrite geändert wie zum Beispiel: contact.html und so weiter. Aber eine Einstellung wird nicht übernommen es hat mit den selbst erstellten templates zu tun.
Hier einmal was ich gemacht habe.
Im Open: includes/session.php
Search:
elseif (strstr($url, 'lightbox.php')) {
add before:
elseif (strstr($url, 'index.php?template=about_us')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php?template=about_us', 'aboutus.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('index.php?template=about_us', 'aboutus.htm', $url);
}
}
Im Open .htaccess
Search:
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
add after:
RewriteRule ^aboutus\.htm$ index.php?template=about_us?%{QUERY_STRING}
RewriteRule ^aboutus\.([0-9]+)\.htm$ index.php?template=about_us?page=$1&%{QUERY_STRING}
But that does not work. There must be something else?
The works here but also that runs at me:
-----
Aber das klappt nicht. Muss da etwas anders eingestellt werden?
Das hier klappt aber auch, dass läuft bei mir:
RewriteRule ^kontaktformular\.htm$ support.php?action=newticket?%{QUERY_STRING}
RewriteRule ^kontaktformular\.([0-9]+)\.htm$ support.php?action=newticket?page=$1&%{QUERY_STRING}
and
elseif (strstr($url, 'support.php?action=newticket')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('support.php?action=newticket', 'kontaktformular.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('support.php?action=newticket', 'kontaktformular.htm', $url);
}
}
That goes without problems, but that with "index.php? Template =" this is not.
---
Das klappt ohne Probleme, aber das mit "index.php?template=" das geht nicht.
I also wish that from index.php, will start.htm. Can this be accomplished?
---
Ich möchte auch, dass aus index.php, start.htm wird. Kann man das bewerkstelligen?
[EDIT by V@no]
Don't use [php][/php] tags for non-PHP code, it doesn't display correctly.
-
This is not working for you ???
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
works for me ;)
Hello, ..............................................................................
That goes without problems, but that with "index.php? Template =" this is not.
---
Das klappt ohne Probleme, aber das mit "index.php?template=" das geht nicht.
I also wish that from index.php, will start.htm. Can this be accomplished?
---
Ich möchte auch, dass aus index.php, start.htm wird. Kann man das bewerkstelligen?
-
Hy,
I would also be grateful to you if you'd say what you've done! For me it works absolutely not!
The following is my Session.php:
elseif (strstr($url, 'index.php?template=about_us')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php?template=about_us', 'aboutus.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('index.php?template=about_us', 'aboutus.htm', $url);
}
}
The following is my .htaccess:
RewriteRule ^aboutus\.htm$ index.php?template=about_us?%{QUERY_STRING}
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
But dont work :(
I must be different then the link? Would be nice if you step could explain!
-
I didnt make any changes in session.php I just put above code into my .htaccess file and
I'm calling my contact.php file from menu this way
href="./contact.htm"
before I have to call that file this way
href="./contact.php"
and about_us.html like this
href="./index.php?template=about_us"
Only changes in session.php what I did are for categories, details, guestbook, top and search, that's all.
-
Hey,
PHP individual files so call to leave is so easy, but somehow this does not work with my code.
Really, I do not understand how you think! Show times but ask the entire code of the piece.
Because I check what is absolutely not, sorry!
-
This is not working for you ???
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
works for me ;)
that would only work if you place it at the end of .htaccess
@Phisker B:
Please don't use [php][/php] tags for non-PHP code, it doesn't display correctly:
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
same code but displays different (no backslashes):
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
-
Hey,
PHP individual files so call to leave is so easy, but somehow this does not work with my code.
Really, I do not understand how you think! Show times but ask the entire code of the piece.
Because I check what is absolutely not, sorry!
If I understand you right, you want to see your about_us when you call this file from your menu like about_us.htm
Just delete this from session.php
elseif (strstr($url, 'index.php?template=about_us')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php?template=about_us', 'aboutus.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('index.php?template=about_us', 'aboutus.htm', $url);
}
}
and this from .htaccess
RewriteRule ^aboutus.htm$ index.php?template=about_us?%{QUERY_STRING}
live this line in at the end of .htaccess
RewriteRule ^([a-zA-Z0-9_-]+).html$ index.php?template=$1&%{QUERY_STRING}
and change your link in menu template to about_us file to this
href="./about_us.html"
-
This is not working for you ???
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
works for me ;)
that would only work if you place it at the end of .htaccess
@Phisker B:
Please don't use [php][/php] tags for non-PHP code, it doesn't display correctly:
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
same code but displays different (no backslashes):
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
That's right V@no I forgot to mention that ;)
-
@ V@no,
okay, sorry!
@ om6acw
Now I have understood this.
But that does not work!
this is my complete .htaccess
# Begin search engine friendly links code
RewriteEngine On
#RewriteBase /
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^kontaktformular\.htm$ support.php?action=newticket?%{QUERY_STRING}
RewriteRule ^kontaktformular\.([0-9]+)\.htm$ support.php?action=newticket?page=$1&%{QUERY_STRING}
RewriteRule ^mitglieder\.htm$ memberlist.php?%{QUERY_STRING}
RewriteRule ^mitglieder\.([0-9]+)\.htm$ memberlist.php?page=$1&%{QUERY_STRING}
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.htm$ categories.php?cat_id=$1&%{QUERY_STRING}
RewriteRule ^cat([0-9]+)\.([0-9]+)\.htm$ categories.php?cat_id=$1&page=$2&%{QUERY_STRING}
RewriteRule ^produkt([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^produkt([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+)\.htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard\.img([0-9]+)\.htm$ postcards.php?image_id=$1&%{QUERY_STRING}
# End search engine friendly links code
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
This is my link:
[code]<a href="./aboutus.htm">About us</a>
This error message appears:
The requested URL on the server could not be found. The link on the referring page seems incorrect or no longer relevant to be. Please inform the author of this page about the error.
Unless you consider it a malfunction of the server hold, please inform the Webmaster.
[/code]
-
do you have your aboutus.html in your template folder???
-
actually, the problem is that in the link you have aboutus.htm but in .htaccess you have:
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?template=$1&%{QUERY_STRING}
aboutus.html would work
-
Ahahaha,
Vano, you're absolutely right! Then I would ourselves can!
But still many thanks to you both!
-
I also wish that from index.php, will start.htm. Can this be accomplished?
If I so Adjusters, then I get an error:
---
Ich möchte auch, dass aus index.php, start.htm wird. Kann man das bewerkstelligen?
Wenn ich das so einstelle, dann bekomme ich ein Fehler:
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in C:\xampp\htdocs\2\includes\sessions.php on line 617
The Code on the line 617 ist:
--
Der Code in der Zeile 617 ist:
define('COOKIE_NAME', '4images_');
My Code for the session.php:
--
Mein Code für die session.php
elseif (strstr($url, 'index.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php', 'startseite.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
And .htaccess
--
Und .htaccess
RewriteRule ^startseite\.htm$ index.php?%{QUERY_STRING}
RewriteRule ^startseite\.([0-9]+)\.htm$ index.php?page=$1&%{QUERY_STRING}
-
Oh,
sorry! That is the code for me, so I have my extra file attached packed.
Nevertheless, this does not work!
-
Add }
above:
elseif (strstr($url, 'index.php')) {
-
That is present or not?
That is the code in my Session.php is registered
That is my code:
/*
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', './', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'support.php?action=newticket')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('support.php?action=newticket', 'kontaktformular.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('support.php?action=newticket', 'kontaktformular.htm', $url);
}
}
elseif (strstr($url, 'index.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('index.php', 'startseite.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('index.php', 'startseite.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'memberlist.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('memberlist.php', 'mitglieder.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('memberlist.php', 'mitglieder.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches[1].'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'produkt'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'produkt'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
-
that bracket is missing in your code, add it.
-
Ok, thank you!
But just changed the mod to.
[MOD] Google Friendly Urls For 4images Best Seo Mod (http://www.4homepages.de/forum/index.php?topic=17598.0)
This here is better and looks beautiful! And it runs everything perfect!
-
hi all.
thanks nice mod.
but..
domain.com/categoryname/imagename.html how to work?
-
thanks chris ..
I have a problem ..
Has been transferred in full links ..
But when opening any pictures show this message :
Not Found
The requested URL /topics/img174.htm was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
What is the solution ?
Regards ..
-
hello and welcome to the 4images forum,
well, you did something wrong.
did you try already with
RewriteBase /topics
in .htaccess
or post your .htacces and maybe your here
-
and to add to Nicky's response:
- make sure mod_rewrite is installed and enabled on your server
- if you have access to the server's log files, look in there, it might provide more information about the error.
-
Nice mod thank you
i read all replay
i make this mod and it's work ok but can i make
www.mysite.com/cat-category name-catID.html
www.mysite.com/img-img name-imgID.html
to
www.mysite.com/category name-cat-catID.html
www.mysite.com/img name-img-imgID.html
thanks agine
-
Will anyone please please tell me how to change image markers ?
-
Как сделать страницы из вида article?id=1 в вид article1.htm? ТАк не получается? :roll:
RewriteRule ^article\.htm$ article.php?%{QUERY_STRING}
RewriteRule ^article([0-9]*)$ article.php?id=$1&%{QUERY_STRING}
elseif (strstr($url, 'article.php'))
{
preg_match('#id=([0-9]+)&?#', $url, $matches);
$url_id = "";
if (isset($matches[1]))
{
$url_id = $matches[1];
}
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('article.php', 'article'.$matches[1].'.htm', $url);
$query = str_replace('id='.$url_id.'&', '', $query);
$query = str_replace('&id='.$url_id, '', $query);
$query = str_replace('id='.$url_id, '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
else {
$url = str_replace('article.php', 'article.htm', $url);
}
}
-
Ok, thank you!
But just changed the mod to.
[MOD] Google Friendly Urls For 4images Best Seo Mod (http://www.4homepages.de/forum/index.php?topic=17598.0)
This here is better and looks beautiful! And it runs everything perfect!
I have also installed this mod... maybe a stupid question... install them both together or do you have to chose one or the other?
-
geht das auch mit der Version 1.7.7
bei mir will das nicht laufen wollen
-
Wie kann man denn den Profillink kürzen?
Das dieser in etwas so aussieht:
member.php?action=showprofile&user_id=1
to
nickname/profile/
Geht das?
add1
in sessions.php
before
elseif (strstr($url, 'postcards.php?image_id=')) {
add
elseif (strstr($url, 'member.php?action=showprofile&user_id=')) {
preg_match('#user_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$url = str_replace('member.php', 'profile'.$matches[1].'.htm', $url);
}
return $url;
}
Now short urls for profiles works and looks like
http://localhost/4images/profile49
And now I planing to make them like
http://localhost/4images/nick/profile
later planing
http://localhost/4images/search.htm?search_user=nick
change in to
http://localhost/4images/nick/gallery
If someone could help...
[/quote]
-
Ok, you said:
In 4images v1.7.6 the line you should find is:
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
Replace it with:
global $user_bot;
if (!$user_bot && $this->mode == "get" && strpos($url, $this->session_id) === false) {
I dont have that in my sessions.php.... here is mine<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: sessions.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7.6 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
if (!defined('ROOT_PATH')) {
die("Security violation");
}
/*
MOD VISITORS COUNTRY FLAGS
START INSERT
*/
if (!class_exists("GeoIP"))
{
include(ROOT_PATH."includes/geoip.inc");
}
$gi = geoip_open(ROOT_PATH."includes/GeoIP.dat",GEOIP_STANDARD);
$countries = array();
/*
MOD VISITORS COUNTRY FLAGS
END INSERT
*/
//-----------------------------------------------------
//--- Start Configuration -----------------------------
//-----------------------------------------------------
define('SESSION_NAME', 'sessionid');
$user_table_fields = array(
"user_id" => "user_id",
"user_level" => "user_level",
"user_name" => "user_name",
"user_password" => "user_password",
"user_email" => "user_email",
"user_showemail" => "user_showemail",
"user_allowemails" => "user_allowemails",
"user_invisible" => "user_invisible",
"user_joindate" => "user_joindate",
"user_activationkey" => "user_activationkey",
"user_lastaction" => "user_lastaction",
"user_location" => "user_location",
"user_lastvisit" => "user_lastvisit",
"user_comments" => "user_comments",
"user_homepage" => "user_homepage",
"user_icq" => "user_icq"
);
//-----------------------------------------------------
//--- End Configuration -------------------------------
//-----------------------------------------------------
function get_user_table_field($add, $user_field) {
global $user_table_fields;
return (!empty($user_table_fields[$user_field])) ? $add.$user_table_fields[$user_field] : "";
}
class Session {
var $session_id;
var $session_key;
var $user_ip;
var $user_location;
var $current_time;
var $session_timeout;
var $mode = "get";
var $session_info = array();
var $user_info = array();
function Session() {
global $config;
$this->session_timeout = $config['session_timeout'] * 60;
$this->user_ip = $this->get_user_ip();
$this->user_location = $this->get_user_location();
$this->current_time = time();
if (defined('SESSION_KEY') && SESSION_KEY != '') {
$this->session_key = SESSION_KEY;
} else {
$this->session_key = md5('4images' . realpath(ROOT_PATH));
}
// Stop adding SID to URLs
@ini_set('session.use_trans_sid', 0);
//@ini_set('session.cookie_lifetime', $this->session_timeout);
session_name(urlencode(SESSION_NAME));
@session_start();
$this->demand_session();
}
function set_cookie_data($name, $value, $permanent = 1) {
$cookie_expire = ($permanent) ? $this->current_time + 60 * 60 * 24 * 365 : 0;
$cookie_name = COOKIE_NAME.$name;
setcookie($cookie_name, $value, $cookie_expire, COOKIE_PATH, COOKIE_DOMAIN, COOKIE_SECURE);
$HTTP_COOKIE_VARS[$cookie_name] = $value;
}
function read_cookie_data($name) {
global $HTTP_COOKIE_VARS;
$cookie_name = COOKIE_NAME.$name;
return (isset($HTTP_COOKIE_VARS[$cookie_name])) ? $HTTP_COOKIE_VARS[$cookie_name] : false;
}
function get_session_id() {
if (SID == '') {
$this->mode = "cookie";
}
if (preg_match('/[^a-z0-9]+/i', session_id())) {
@session_regenerate_id();
}
$this->session_id = session_id();
}
function demand_session() {
$this->get_session_id();
if (!$this->load_session_info()) {
$this->delete_old_sessions();
$user_id = ($this->read_cookie_data("userid")) ? intval($this->read_cookie_data("userid")) : GUEST;
$this->start_session($user_id);
}
else {
$this->user_info = $this->load_user_info($this->session_info['session_user_id']);
$update_cutoff = ($this->user_info['user_id'] != GUEST) ? $this->current_time - $this->user_info['user_lastaction'] : $this->current_time - $this->session_info['session_lastaction'];
if ($update_cutoff > 60) {
$this->update_session();
$this->delete_old_sessions();
}
}
}
function start_session($user_id = GUEST, $login_process = 0) {
global $site_db;
$this->user_info = $this->load_user_info($user_id);
if ($this->user_info['user_id'] != GUEST && !$login_process) {
if ($this->read_cookie_data("userpass") == $this->user_info['user_password'] && $this->user_info['user_level'] > USER_AWAITING) {
$this->set_cookie_data("userpass", $this->user_info['user_password']);
}
else {
$this->set_cookie_data("userpass", "", 0);
$this->user_info = $this->load_user_info(GUEST);
}
}
//if (!$login_process) {
$sql = "REPLACE INTO ".SESSIONS_TABLE."
(session_id, session_user_id, session_lastaction, session_location, session_ip)
VALUES
('".addslashes($this->session_id)."', ".$this->user_info['user_id'].", $this->current_time, '$this->user_location', '$this->user_ip')";
$site_db->query($sql);
//}
$this->session_info['session_user_id'] = $this->user_info['user_id'];
$this->session_info['session_lastaction'] = $this->current_time;
$this->session_info['session_location'] = $this->user_location;
$this->session_info['session_ip'] = $this->user_ip;
if ($this->user_info['user_id'] != GUEST) {
$this->user_info['user_lastvisit'] = (!empty($this->user_info['user_lastaction'])) ? $this->user_info['user_lastaction'] : $this->current_time;
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_lastaction")." = $this->current_time, ".get_user_table_field("", "user_location")." = '$this->user_location', ".get_user_table_field("", "user_lastvisit")." = ".$this->user_info['user_lastvisit']."
WHERE ".get_user_table_field("", "user_id")." = ".$this->user_info['user_id'];
$site_db->query($sql);
}
$this->set_cookie_data("lastvisit", $this->user_info['user_lastvisit']);
$this->set_cookie_data("userid", $this->user_info['user_id']);
return true;
}
function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1, $do_md5 = true) {
global $site_db, $user_table_fields;
if (empty($user_name) || empty($user_password)) {
return false;
}
$sql = "SELECT ".get_user_table_field("", "user_id").get_user_table_field(", ", "user_password")."
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_name")." = '$user_name' AND ".get_user_table_field("", "user_level")." <> ".USER_AWAITING;
$row = $site_db->query_firstrow($sql);
$user_id = (isset($row[$user_table_fields['user_id']])) ? $row[$user_table_fields['user_id']] : GUEST;
if($do_md5 == true) $user_password = md5($user_password);
if ($user_id != GUEST) {
if ($row[$user_table_fields['user_password']] == $user_password) {
$sql = "UPDATE ".SESSIONS_TABLE."
SET session_user_id = $user_id
WHERE session_id = '".addslashes($this->session_id)."'";
$site_db->query($sql);
if ($set_auto_login) {
$this->set_cookie_data("userpass", ($auto_login) ? $user_password : "");
}
$this->start_session($user_id, 1);
return true;
}
}
return false;
}
function logout($user_id) {
global $site_db;
$sql = "DELETE FROM ".SESSIONS_TABLE."
WHERE session_id = '".addslashes($this->session_id)."' OR session_user_id = $user_id";
$site_db->query($sql);
$this->set_cookie_data("userpass", "", 0);
$this->set_cookie_data("userid", GUEST);
$this->session_info = array();
return true;
}
function delete_old_sessions() {
global $site_db;
$expiry_time = $this->current_time - $this->session_timeout;
$sql = "DELETE FROM ".SESSIONS_TABLE."
WHERE session_lastaction < $expiry_time";
$site_db->query($sql);
return true;
}
function update_session() {
global $site_db;
$sql = "REPLACE INTO ".SESSIONS_TABLE."
(session_id, session_user_id, session_lastaction, session_location, session_ip)
VALUES
('".addslashes($this->session_id)."', ".$this->user_info['user_id'].", $this->current_time, '$this->user_location', '$this->user_ip')";
$site_db->query($sql);
$this->session_info['session_lastaction'] = $this->current_time;
$this->session_info['session_location'] = $this->user_location;
$this->session_info['session_ip'] = $this->user_ip;
if ($this->user_info['user_id'] != GUEST) {
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_lastaction")." = $this->current_time, ".get_user_table_field("", "user_location")." = '$this->user_location'
WHERE ".get_user_table_field("", "user_id")." = ".$this->user_info['user_id'];
$site_db->query($sql);
}
return;
}
function return_session_info() {
return $this->session_info;
}
function return_user_info() {
return $this->user_info;
}
function freeze() {
return;
}
function load_session_info() {
if (@ini_get('register_globals')) {
session_register($this->session_key);
if (!isset($GLOBALS[$this->session_key])) {
$GLOBALS[$this->session_key] = array();
}
$this->session_info = &$GLOBALS[$this->session_key];
} else {
if (isset($_SESSION)) {
if (!isset($_SESSION[$this->session_key])) {
$_SESSION[$this->session_key] = array();
}
$this->session_info = &$_SESSION[$this->session_key];
} else {
if (!isset($GLOBALS['HTTP_SESSION_VARS'][$this->session_key])) {
$GLOBALS['HTTP_SESSION_VARS'][$this->session_key] = array();
}
$this->session_info = &$GLOBALS['HTTP_SESSION_VARS'][$this->session_key];
}
}
if (!isset($this->session_info['session_ip'])) {
$this->session_info = array();
return false;
}
if ($this->mode == "get" && $this->session_info['session_ip'] != $this->user_ip) {
if (function_exists('session_regenerate_id')) {
@session_regenerate_id();
}
$this->get_session_id();
$this->session_info = array();
return false;
}
return $this->session_info;
}
function load_user_info($user_id = GUEST) {
global $site_db, $user_table_fields;
if ($user_id != GUEST) {
$sql = "SELECT u.*, l.*
FROM ".USERS_TABLE." u, ".LIGHTBOXES_TABLE." l
WHERE ".get_user_table_field("u.", "user_id")." = $user_id AND l.user_id = ".get_user_table_field("u.", "user_id");
$user_info = $site_db->query_firstrow($sql);
if (!$user_info) {
$sql = "SELECT *
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_id")." = $user_id";
$user_info = $site_db->query_firstrow($sql);
if ($user_info) {
$lightbox_id = get_random_key(LIGHTBOXES_TABLE, "lightbox_id");
$sql = "INSERT INTO ".LIGHTBOXES_TABLE."
(lightbox_id, user_id, lightbox_lastaction, lightbox_image_ids)
VALUES
('$lightbox_id', ".$user_info[$user_table_fields['user_id']].", $this->current_time, '')";
$site_db->query($sql);
$user_info['lightbox_lastaction'] = $this->current_time;
$user_info['lightbox_image_ids'] = "";
}
}
}
if (empty($user_info[$user_table_fields['user_id']])) {
$user_info = array();
$user_info['user_id'] = GUEST;
$user_info['user_level'] = GUEST;
$user_info['user_lastaction'] = $this->current_time;
$user_info['user_lastvisit'] = ($this->read_cookie_data("lastvisit")) ? $this->read_cookie_data("lastvisit") : $this->current_time;
}
foreach ($user_table_fields as $key => $val) {
if (isset($user_info[$val])) {
$user_info[$key] = $user_info[$val];
}
elseif (!isset($user_info[$key])) {
$user_info[$key] = "";
}
}
return $user_info;
}
function set_session_var($var_name, $value) {
$this->session_info[$var_name] = $value;
return true;
}
function get_session_var($var_name) {
if (isset($this->session_info[$var_name])) {
return $this->session_info[$var_name];
}
return '';
}
function drop_session_var($var_name) {
unset($this->session_info[$var_name]);
}
function get_user_ip() {
global $HTTP_SERVER_VARS, $HTTP_ENV_VARS;
$ip = (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ((!empty($HTTP_ENV_VARS['REMOTE_ADDR'])) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv("REMOTE_ADDR"));
$ip = preg_replace("/[^\.0-9]+/", "", $ip);
return substr($ip, 0, 50);
}
function get_user_location() {
global $self_url;
return (defined("IN_CP")) ? "Control Panel" : preg_replace(array("/([?|&])action=[^?|&]*/", "/([?|&])mode=[^?|&]*/", "/([?|&])phpinfo=[^?|&]*/", "/([?|&])printstats=[^?|&]*/", "/[?|&]".URL_ID."=[^?|&]*/", "/[?|&]l=[^?|&]*/", "/[&?]+$/"), array("", "", "", "", "", "", ""), addslashes($self_url));
}
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
} //end of class
//-----------------------------------------------------
//--- Start Session -----------------------------------
//-----------------------------------------------------
define('COOKIE_NAME', '4images_');
define('COOKIE_PATH', '');
define('COOKIE_DOMAIN', '');
define('COOKIE_SECURE', '0');
// mod GoogleBot
$site_sess = new Session();
$robots = array(
"FAST-WebCrawler" => "searchbot",
"Gulliver" => "searchbot",
"AltaVista" => "searchbot",
"Alexibot" => "searchbot",
"asterias" => "searchbot",
"BackDoorBot" => "searchbot",
"Black.Hole" => "searchbot",
"BlowFish" => "searchbot",
"BotALot" => "searchbot",
"NPBot" => "searchbot",
"Pompos" => "searchbot",
"Scooter" => "searchbot",
"SiteSnagger" => "searchbot",
"Slurp" => "searchbot",
"WebmasterWorldForumBot" => "searchbot",
"zyborg" => "searchbot",
"Google" => "googlebot",
"msnbot" => "searchbot",
"ZACATEK_CZ_BOT" => "searchbot",
"EARTHCOM.info" => "searchbot",
"sherlock" => "searchbot",
"Holmes" => "searchbot",
"ia_archiver" => "searchbot",
"lwp-trivial" => "searchbot",
"appie" => "searchbot",
"Scooter" => "searchbot",
"Gigabot" => "searchbot",
"Wget" => "searchbot",
"jyxobot" => "searchbot",
"Xenu Link Sleuth" => "searchbot",
"SeznamBot" => "searchbot",
);
foreach($robots as $key => $val) {
if(!$_SERVER['HTTP_USER_AGENT'] || preg_match("/".$key."/i", $_SERVER['HTTP_USER_AGENT'])) {
$site_sess->login($val, "12345");
$user_bot = 1;
break;
}
}
// Get Userinfo
$session_info = $site_sess->return_session_info();
$user_info = $site_sess->return_user_info();
include_once(realpath(dirname(__FILE__)).'/vb.php');
//-----------------------------------------------------
//--- Get User Caches ---------------------------------
//-----------------------------------------------------
$num_total_online = 0;
$num_visible_online = 0;
$num_invisible_online = 0;
$num_registered_online = 0;
$num_guests_online = 0;
$user_online_list = "";
$prev_user_ids = array();
$prev_session_ips = array();
if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
$time_out = time() - 300;
$sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible")."
FROM ".SESSIONS_TABLE." s
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
WHERE s.session_lastaction >= $time_out
ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
$result = $site_db->query($sql);
while ($row = $site_db->fetch_array($result)) {
if ($row['session_user_id'] != GUEST && (isset($row[$user_table_fields['user_id']]) && $row[$user_table_fields['user_id']] != GUEST)) {
if (!isset($prev_user_ids[$row['session_user_id']])) {
$is_invisible = (isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1) ? 1 : 0;
$invisibleuser = ($is_invisible) ? "*" : "";
$username = (isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1) ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']];
if (!$is_invisible || $user_info['user_level'] == ADMIN) {
$user_online_list .= ($user_online_list != "") ? ", " : "";
$user_profile_link = (!empty($url_show_profile)) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&".URL_USER_ID."=".$row['session_user_id'];
/*
MOD VISITORS COUNTRY FLAGS
START INSERT
*/
$cid = geoip_country_code_by_addr($gi, $row['session_ip']);
if (empty($cid)) $cid = "lan";
$countries[$cid] = isset($countries[$cid]) ? $countries[$cid]+1 : 1;
$username = "<img src=\"".ROOT_PATH."flags/".strtolower($cid).".gif"."\" alt=\"".(($cid != "lan") ? $gi->GEOIP_COUNTRY_NAMES[$gi->GEOIP_COUNTRY_CODE_TO_NUMBER[$cid]] : "Unknown or LAN")."\" border=0> ".$username;
/*
MOD VISITORS COUNTRY FLAGS
END INSERT
*/
$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
}
(!$is_invisible) ? $num_visible_online++ : $num_invisible_online++;
$num_registered_online++;
}
$prev_user_ids[$row['session_user_id']] = 1;
}
else {
if (!isset($prev_session_ips[$row['session_ip']])) {
$num_guests_online++;
/*
MOD VISITORS COUNTRY FLAGS
START INSERT
*/
$cid = geoip_country_code_by_addr($gi, $row['session_ip']);
if (empty($cid)) $cid = "lan";
$countries[$cid] = isset($countries[$cid]) ? $countries[$cid]+1 : 1;
/*
MOD VISITORS COUNTRY FLAGS
END INSERT
*/
}
}
$prev_session_ips[$row['session_ip']] = 1;
}
/*
MOD VISITORS COUNTRY FLAGS
START INSERT
*/
$invitado_online_list = array();
if (!empty($countries))
{
asort($countries);
foreach ($countries as $key => $val)
{
$invitado_online_list[] = "<font color=\"#00FFFF\">".$val."</font><img src=\"".ROOT_PATH."/flags/".strtolower($key).".gif\" align=\"middle\" alt=\"".(($key != "lan") ? $gi->GEOIP_COUNTRY_NAMES[$gi->GEOIP_COUNTRY_CODE_TO_NUMBER[$key]] : "Unknown or LAN")."\" border=0>";
}
}
$invitado_online_list = implode(" , ", $invitado_online_list);
/*
MOD VISITORS COUNTRY FLAGS
END INSERT
*/
$num_total_online = $num_registered_online + $num_guests_online;
//$num_invisible_online = $num_registered_online - $num_visible_online;
$site_template->register_vars(array(
"num_total_online" => $num_total_online,
"num_invisible_online" => $num_invisible_online,
"num_registered_online" => $num_registered_online,
"num_guests_online" => $num_guests_online,
"invitado_online_list" => $invitado_online_list,
"user_online_list" => $user_online_list,
"lang_user_online" => str_replace('{num_total_online}', $num_total_online, $lang['user_online']),
"lang_user_online_detail" => str_replace(array('{num_registered_online}','{num_invisible_online}','{num_guests_online}'), array($num_registered_online,$num_invisible_online,$num_guests_online), $lang['user_online_detail']),
));
//-----------------------------
//---Most ever users online----
//-----------------------------
$most = explode("|", $config['most_users']);
$most_total = explode(",", $most[0]);
$most_registered = explode(",", $most[1]);
$most_guests = explode(",", $most[2]);
$update = 0;
if ($num_total_online > $most_total[0])
{
$most_total[0] = $num_total_online;
$most_total[1] = time();
$most[0] = $most_total[0].",".$most_total[1];
$update = 1;
}
if ($num_registered_online > $most_registered[0])
{
$most_registered[0] = $num_registered_online;
$most_registered[1] = time();
$most[1] = $most_registered[0].",".$most_registered[1];
$update = 1;
}
if ($num_guests_online > $most_guests[0])
{
$most_guests[0] = $num_guests_online;
$most_guests[1] = time();
$most[2] = $most_guests[0].",".$most_guests[1];
$update = 1;
}
if ($update) {
$config['most_users'] = implode("|", $most);
$sql = "UPDATE ".SETTINGS_TABLE."
SET setting_value = '".$config['most_users']."'
WHERE setting_name = 'most_users'";
$site_db->query($sql);
}
$site_template->register_vars(array(
"mueo" => $most_total[0],
"mueo_date" => format_date($config['date_format'].", ".$config['time_format'], $most_total[1]),
"mueo_registered" => $most_registered[0],
"mueo_registered_date" => format_date($config['date_format'].", ".$config['time_format'], $most_registered[1]),
"mueo_guests" => $most_guests[0],
"mueo_guests_date" => format_date($config['date_format'].", ".$config['time_format'], $most_guests[1]),
"lang_mueo" => $lang['mueo'],
"lang_mueo_total" => $lang['mueo_total'],
"lang_mueo_date" => $lang['mueo_date'],
"lang_mueo_registered" => $lang['mueo_registered'],
"lang_mueo_guests" => $lang['mueo_guests'],
));
//End Most Ever Online
$whos_online = $site_template->parse_template("whos_online");
$site_template->register_vars("whos_online", $whos_online);
unset($whos_online);
unset($prev_user_ids);
unset($prev_session_ips);
}
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "., éèêàëâúóíìáàABCDEFGHIJKLMNOPQRSTUVWXYZ","---eeeaeauoiiaaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "., éèêàëâúóíìáàABCDEFGHIJKLMNOPQRSTUVWXYZ","---eeeaeauoiiaaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
?>
If you could help me wrap this up I would really appreciate it... so close to having one page indexed......
-
Search for
if ($this->mode == "get" && strstr($url, $this->session_id)) {
Replace with:
global $user_bot;
if (!$user_bot && $this->mode == "get" && strstr($url, $this->session_id)) {
-
Hi
can anyone tell me the full steps for 1.7.7
i m confused... :?
thx in advance...
-
Hi! I have installed gallery and everything works just fine, except one thing: URL's are looks like http://mysite.com/cat-%category_name%-%category_number.htm?page=3 and I want them to look like http://mysite.com/cat-%category_name%-%category_number-page_number%.htm
How it can be done?
I tried to follow the guide in firs message of this topic.
-
Можно ли сделать вид ссылки не /img123. htm а /images/123 например.
how i can do link to my image like /images/123 ??
-
how i can do link to my image like /images/123 ??
This has been asked number of times, the answer is - not possible without heavy modifying 4images. At this moment nobody done it (at least with sharing with the community)
-
So, this is (/img123. htm) one possible variant of links? And there anyway?
-
as in current directory (aka with no extra "/" slashes) - yes.
Though you can change the "img123.htm" to something like "image123.html"
-
This works for me:
http://www.4homepages.de/forum/index.php?topic=17598.msg137711#msg137711
-
This mod works perfectly with 1. 7. 7
Sorry, I have not seen the previous message
-
Hi,
I have been using this MOD for a long time.. I don't know how I made it at that time.. My urls are like this.. www.domainname.com/k-category-name-123.htm and detail page urls are like this .. www.domain.com/r-image-name-1234.htm. Its working fine... but now I have noticed that .. Google is trying to find my both the urls and marked them as duplicate content..
Could anyone please let me know how to stop detail.php?image_id=xxxx format urls ?? or is it possible to redirect all the detail.php to r-image-name-123.htm page with 301 code by updating the .htaccessf file ??
A small help will also be appreciated. ..
-
also, has anyone been able to solve the problem of the category drop-down form?
If I install this mod, my category drop-down no longer works :(
It just redirects to www.mysite.com/cat.htm
whatever option I choose on the dropdown
I searched through the 27 pages but didn't see a solution
have the same problem.... :|
And another one - if someone uses search or clicks on "new posts" - all the thumbnails have the links like "/img2139.search.htm" which is a duplicate for "/img2139.htm", and thats not good for search engines.... Can I have those links without the word "search" in them? :roll:
-
also, has anyone been able to solve the problem of the category drop-down form?
If I install this mod, my category drop-down no longer works :(
It just redirects to www.mysite.com/cat.htm
whatever option I choose on the dropdown
I searched through the 27 pages but didn't see a solution
have the same problem.... :|
I can't reproduce on my local server, everything works fine here, with the code from first page. Perhaps it's a server-related?
And another one - if someone uses search or clicks on "new posts" - all the thumbnails have the links like "/img2139.search.htm" which is a duplicate for "/img2139.htm", and thats not good for search engines.... Can I have those links without the word "search" in them? :roll:
This has been discussed here so many times...you'll need deny bots via robots.txt from accessing anything search related.
And to anyone asking questions regarding search engine bots: control what they can and can't access via robots.txt.
Search the web for more info.
-
also, has anyone been able to solve the problem of the category drop-down form?
If I install this mod, my category drop-down no longer works :(
It just redirects to www.mysite.com/cat.htm
whatever option I choose on the dropdown
I searched through the 27 pages but didn't see a solution
have the same problem.... :|
I can't reproduce on my local server, everything works fine here, with the code from first page. Perhaps it's a server-related?
I dunno, but I have had this small "bug" on all of 3 hosting servers I've moved on lately... And your local server, is it Windows or still Linux/*nix? :roll:
And another one - if someone uses search or clicks on "new posts" - all the thumbnails have the links like "/img2139.search.htm" which is a duplicate for "/img2139.htm", and thats not good for search engines.... Can I have those links without the word "search" in them? :roll:
This has been discussed here so many times...you'll need deny bots via robots.txt from accessing anything search related.
And to anyone asking questions regarding search engine bots: control what they can and can't access via robots.txt.
Search the web for more info.
Thanks, Vano, yeah, I know about the possibility to bar SE bots from indexing some types of links on the site by means of "disallow" strings in robots.txt file.
But nonetheless I would still like to know if its possilbe to get rid of those "search" inclusions into the "img....htm" URLs, cause not only search engines dont like those thinhs, but me actually as wel :) Those pages have no distinctions on them, and therefore are simple detail-pages with duplicated content and different URLs, so I cannot understand why that "search"-word should stay there :|
Or maybe it has some original explanation and logical grounding? :)
-
The "search" mode is needed for next/prev links at image details page. It has the same purpose as "lightbox" mode. By removing this it will probably affect your server's load because visitors will most likely have to refresh the search results after viewing details of one image in order to see next image from that search (perform search, view one image, go back, search again, view next image, so on)
in search.php replace
show_image($image_row, "search");
with:
show_image($image_row);
-
Thanks, V@no! Now I see why its needed, just didn't pay attention to the fact, that while visiting such pages (with that search-tag) we get next/prev search results but not photos from the same category as usual :P
The "search" mode is needed for next/prev links at image details page. It has the same purpose as "lightbox" mode. By removing this it will probably affect your server's load because visitors will most likely have to refresh the search results after viewing details of one image in order to see next image from that search (perform search, view one image, go back, search again, view next image, so on)
in search.php replace
show_image($image_row, "search");
with:
show_image($image_row);
-
also, has anyone been able to solve the problem of the category drop-down form?
If I install this mod, my category drop-down no longer works :(
It just redirects to www.mysite.com/cat.htm
whatever option I choose on the dropdown
I searched through the 27 pages but didn't see a solution
have the same problem.... :|
I can't reproduce on my local server, everything works fine here, with the code from first page. Perhaps it's a server-related?
If I have "form method="post" in my category_dropdown_form.html - then after choosing any category from a dropdown-menu a person gets redirected right but gets the wrong address in URL (always just /cat.htm without any numbers).
If I change it to "form method=get" - then I get redirected right as well, but get URLs like "/cat.htm?cat_id=68" instead of just "/cat68.htm"...
Is it possible to correct that issue plz? :roll:
-
That is how POST method works, it's not a bug and it's not a problem. Also, even though it shows cat.html in the url, it opens correct category.
Nothing you can do about it (unless you want play with javascript and on-fly change the form's action value).
[EDIT]
Here is javascript part that can be used for this matter:
In includes/functions.php find:
$category = "\n<select name=\"".URL_CAT_ID."\" onchange=\"if (this.options[this.selectedIndex].value != 0){ forms['jumpbox'].submit() }\" class=\"categoryselect\">\n";
Replace it with:
$category = "\n<select name=\"".URL_CAT_ID."\" onchange=\"if (this.options[this.selectedIndex].value != 0){ forms['jumpbox'].setAttribute('action',forms['jumpbox'].getAttribute('action').replace('cat\.','cat'+this.options[this.selectedIndex].value+'.'));this.disabled=true;forms['jumpbox'].submit();this.disabled=false; }\" class=\"categoryselect\">\n";
-
V@no, that worked out again! :D
I already dunno how to thank you and requite your patience and assistance! :o
I'm a bit impudent and importunate... but - maybe you may have an answer to this question? :roll:
http://www.4homepages.de/forum/index.php?topic=7700.msg143631#msg143631 :oops:
-
After completing my upgrade from 1.7.4 to 1.7.7 (making changes in sessions.php in particular) I now notice that some URLs with sessionid=... at the end are starting to appear again for me, for some of my friends, and for search engine bots (google, yandex etc) ... :|
I found in backed-up copies, that I previously had the following snippet of code in my includes/sessions.php:
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
And right now I changed it to the following:
if ($this->mode == "get" && strpos($url, $this->session_id) === false) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= "l=".$l;
}
May that be the reason?
And another question - if that was the reason, may I simply undo those changes without any harm to the script itself or causing its malfunctioning ?
Or maybe I should better try to implement the change, described by you here: http://www.4homepages.de/forum/index.php?topic=6729.msg59251#msg59251 :?:
-
The second code is correct code.
Yes, you could try do the bot support code.
-
The second code is correct code.
Yes, you could try do the bot support code.
Thanx!
And the follow-up question:
If I have that second code in sessions.php (above-mentioned by me in the previous post) - and when I set in my browser to block all cookies - is that right, that the appearing sessionid changes each time I press F5 (i.e. reload the page) ? :| Cause my IP isn't changing, my session isn't as well I guess... :?:
-
yes, that is correct. 4images does't care at which ip the request came from. some isp work as proxy, and each refresh could come from different ip (i.e. everyone's favourite aol)
-
Well, it looks like SE bots get sessionid on their first visit now and thus just stop crowling the site cause URLs with sessonid are prohibited to index through robots.txt rules :|
And ppl start posting URLs with thier sessionid's sometimes...
And with the purpose to get rid of those vulnerabilities and disadvantages, and inconveniences for search engines' indexing I've decided to switch off the sessionid feature totally. Is that possible? :roll:
I clearly understand that some percentage of people after those changes would not be able to login or browse through search results... but lots of sites use just the cookie feature for authorization and other things, and they are doing quite well :)
-
Just use the code, I believe provided somewhere in this topic, that would switch off sessionid for the bots only...If I recall correctly that code is based on "treat bots as members" mod or something like that..
Sorry, I don't have time at the moment to be more specific, but it's there ;)
-
Just use the code, I believe provided somewhere in this topic, that would switch off sessionid for the bots only...If I recall correctly that code is based on "treat bots as members" mod or something like that..
Sorry, I don't have time at the moment to be more specific, but it's there ;)
Thanks, Vano, but that solution works only for search-bots, and as far as I know - even they are still getting sessionids on their first visit...not to say about the simple visitors...
And I want to get rid of that sessionid completely, so theat nobody could never see it again :D
I tried different methods, and must say now, that right now I've just undone the changes in includes/sessions.php, which i described here: http://www.4homepages.de/forum/index.php?topic=6729.msg144014#msg144014
that is - I've made it look like:
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
And all the sessions are gone now! 8)
I really do not know, maybe this snippet of code is wrong in some way, inappropriate or something else, but right now ny site works fine and the sessionids' are gone - so it turned out to be a solution for me.
So - if someone wants to get rid of sessionsids' completele - You should probably try it as well :roll:
-
just remove
$url .= strpos($url, '?') !== false ? $amp : "?";
$url .= SESSION_NAME."=".$this->session_id;
-
Works fine, THANKS
But, can i do next:
From:
http://my.domain/img990.htm?l=russian
To:
http://my.domain/photo/{additional fields}/image_id
Or simething like that???
-
I have a question.
For example, ý have cars category, and inside it there is a picture named renault.
I want to use www.domainname.com/cars/renault link to enter to the picture.Is that possible?
-
[MOD] Google Friendly Urls For 4images Best Seo Mod (http://www.4homepages.de/forum/index.php?topic=17598.0)
-
1 question.
Ok. All work done. But how to merge together this: http://www.4homepages.de/forum/index.php?topic=6729.msg57268#msg57268 and this: http://www.4homepages.de/forum/index.php?topic=6729.msg48487#msg48487
Please can you give me ready code?
1.1 question
This is my path. How will be see this path after merging?
RewriteRule ^img/(.*)/([0-9]+)/ details.php?image_id=$2&%{QUERY_STRING}
Thanks!
-
[MOD] Google Friendly Urls For 4images Best Seo Mod (http://www.4homepages.de/forum/index.php?topic=17598.0)
What exactly you want to merge?
-
I made this type of my links http://domain.ru/photo-uzbekistan-airways-boeing-767-3cb(28er)29-2746.htm
Before it link was: http://domain.ru/img1676.htm
Now this link is not available and get error 404. http://domain.ru/img1676.htm May i do a redirect? If, yes. How?
Many thanks
-
The simplest solution would be just leave support for the old type of URLs:
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%{QUERY_STRING}
-
Why do you think that? Is it not better in terms of SEO optimization? Thanks for code!
-
no, it is not better, but at least you don't get 404 errors ;) It's just the simplest way.
The more difficult way is to redirect from within details.php and it is not very optimized way either. If you still want go that way, I may try cook something for you later today.
-
Ok, will be very interesting to try and finished this. I`ll be awaiting for you. Thanks V@no!
-
ok, here it is.
in htaccess add these lines:
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&old&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&old&%{QUERY_STRING}
In details.php find:
require(ROOT_PATH.'includes/sessions.php');
Insert below :below::
if (isset($HTTP_GET_VARS['old']))
{
unset($HTTP_GET_VARS['old']);
$query = "";
foreach($HTTP_GET_VARS as $key => $val)
{
$query .= "&" . $key . "=" . $val;
}
$query = trim($query, "&");
header('HTTP/1.1 301 Moved Permanently');
redirect(ROOT_PATH . "details.php" . ($query ? "?" . $query : ""));
}
-
Special thanks this work perfectly. And last question:
In my details.html i show to users link to the photo throught this code
<a href="<?=$site_sess->url(ROOT_PATH."details.php?image_id={image_id}")?>">http://domain.ru/<?=$site_sess->url(ROOT_PATH."details.php?image_id={image_id}")?></a>
Why this path show me this type of link?
http://domain.ru/./photo-vim-airlines-ilyushin-il-62m-1676_
Where i need to delete ./?
-
because of ROOT_PATH constant.
This should work:
<a href="<?=$site_sess->url("details.php?image_id={image_id}")?>">http://domain.ru/<?=$site_sess->url("details.php?image_id={image_id}")?></a>
but keep in mind, this type of URL will contain sessionid= if cookies are blocked or on very first visit the page, this is not recomended for links that visitors would use to share with others.
A possible work around this issue is use this instead:
<?php
$backupGet = $site_sess->get;
$site_sess->get = "cookie";
?>
<a href="<?=$site_sess->url("details.php?image_id={image_id}")?>">http://domain.ru/<?=$site_sess->url("details.php?image_id={image_id}")?></a>
<?php
$site_sess->get = $backupGet;
?>
-
Very nice. Now my link of details page seen more beauty and comfort for my users! Thanks you very much V@no. In future i want to apply a "/" to the links. I can do it. But then the photo will not be visible. Because it will apply to the wrong address. How to fix it I do not know
-
can't answer that without knowing what exactly changes you do.
-
hi, i searched about the way to add for thumbnail in html width= and height= this is missing from my html code. Somebody know where i must looking for?
-
I am running version Version: 1.7.6
my gallery is http://www.jeyjoo.com/gallery/index.php
I have tried different mods on this thread, and each time broke my gallery and had to restore original settings.
I am trying to give each URL as a simple http://mygallery.com/gallery/details.php?image_id=239, ie. remove all the url endings such as &mode=search.
Is there a way to do this?
Much appreciated
-
Are you trying cripple functionality of your gallery? these "mode=" endings are not for decoration, you know...;)
-
Seriously is there any way I can provide static URLS.
I am on 1.7.6, and cannot get this to work.
Ideally am looking to have a url of the sort: http://www.jeyjoo.com/gallery/{image_id}_{image_name}
Any ideas?
Thanks,
Mike
-
hello, I've replaced the files you put in the first part of the post (. htaccess and sessions.php) and I get the following:
http://www.swarzycustom.com/r-galletas-dvd-2-g-13-giallo-4660.htm
I want you to stay well
http://www.swarzycustom.com/giallo.htm
What I have to change?
thanks ...
-
hello dear sir
Google / Sitemap Problem now ...
movies.fm95pakistan.com it my website but
google site map error
please resolve in this issues
thanks
-
to address how to make html pages to look was in this form
www.sitename/search.php?q=keywords
-
Ok, I have been using this mod for quite a few years now and I have had no issues untill today.
Somehow google had crawled pages with search extension i.e
Normal image url = http://www.domain.com/img123.htm
Issue URL = http://www.domain.com/img123.search.htm
This has resulted in 100s of duplicate url in google webmaster sitemaps.
http://www.domain.com/img123.search.htm for odd reasons returns next and previous images as http://www.domain.com/img122.search.htm and next images as http://www.domain.com/img124.search.htm
How do I get rid of this now? :oops:
-
Hi,
Please click the below link to solve the duplicate
http://www.4homepages.de/forum/index.php?topic=17598.0;msg=158361 (http://www.4homepages.de/forum/index.php?topic=17598.0;msg=158361)
Best Regards,
satz
-
I already have canonical tag working on each page. However that is not the solution to the problem, I need to get rid of (*.search.htm) Infact anything.htm works and loads the page. i.e
http://www.domain.com/img123.(anythinghere).htm <--- this should not happen.
-
Hello.
How can I change this:
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
To this?
for image --->http://www.your-site.com/imagename.htm
category --->http://www.your-site.com/categoryname.htm
Here's "my" MOD:
=================================================
1. at the end of .htaccess, add following code :
=================================================
#Mod_bmollet : category name in URL
RewriteRule ^cat-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^img([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
=======================================================================
=========================================
2. add this code to include/sessions.php
=========================================
//Mod_bmollet
/**
* Get the category url
* @param int $cat_id The id of the category
* @param string $cat_url The current status of the URL
*/
function get_category_url($cat_id,$cat_url = '')
{
global $site_db;
$sql = "SELECT cat_name,cat_parent_id FROM ".CATEGORIES_TABLE." WHERE cat_id = '".$cat_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['cat_name'] = strtr($row['cat_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
$cat_url = '-'.str_replace('+','-',urlencode($row['cat_name'])).'-'.$cat_id.$cat_url;
// if you want full path of category in url, put next line in comment
return $cat_url;
if( $row['cat_parent_id'] != 0)
{
return get_category_url($row['cat_parent_id'],$cat_url);
}
else
{
return $cat_url;
}
}
//Mod_bmollet
/**
* Get the image url
* @param int $image_id The id of the image
*/
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$row['image_name'] = strtr($row['image_name'], "éèêàëâúóíáABCDEFGHIJKLMNOPQRSTUVWXYZ","eeeaeauoiaabcdefghijklmnopqrstuvwxyz");
// if you want comlpete path to image in url, remove comment from following line
//return get_category_url($row['cat_id']).'-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
return '-'.str_replace('+','-',urlencode($row['image_name'])).'-'.$image_id;
}
========================================================================
========================================================================
3. In include/sessions.php replace function url(...) by following code.
========================================================================
/* ORIGINAL CODE
function url($url, $amp = "&") {
global $l;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
if ($this->mode == "get" && !preg_match("/".SESSION_NAME."=/i", $url)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= preg_match("/\?/", $url) ? "$amp" : "?";
$url .= "l=".$l;
}
$url .= (isset($dummy_array[1])) ? "#".$dummy_array[1] : "";
return $url;
}
*/
function url($url, $amp = "&") {
global $l, $user_info;
$dummy_array = explode("#", $url);
$url = $dummy_array[0];
$url = str_replace('&', '&', $url);
if (!defined('IN_CP')) {
if (strstr($url, 'index.php')) {
$url = str_replace('index.php', '', $url);
}
elseif (strstr($url, 'search.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('search.php', 'search.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('search.php', 'search.htm', $url);
}
}
elseif (strstr($url, 'lightbox.php')) {
if (strstr($url, 'page=')) {
preg_match('#page=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('lightbox.php', 'lightbox.'.$matches[1].'.htm', $url);
$query = str_replace('page='.$matches[1].'&', '', $query);
$query = str_replace('&page='.$matches[1], '', $query);
$query = str_replace('page='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('lightbox.php', 'lightbox.htm', $url);
}
}
elseif (strstr($url, 'categories.php')) {
if (strstr($url, 'cat_id=') && strstr($url, 'page=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches1);
preg_match('#page=([0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('categories.php', 'cat'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('cat_id='.$matches1[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches1[1], '', $query);
$query = str_replace('cat_id='.$matches1[1], '', $query);
$query = str_replace('page='.$matches2[1].'&', '', $query);
$query = str_replace('&page='.$matches2[1], '', $query);
$query = str_replace('page='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
elseif (strstr($url, 'cat_id=')) {
preg_match('#cat_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$cat_url = get_category_url($matches[1]);
$url = str_replace('categories.php', 'cat'.$cat_url.'.htm', $url);
$query = str_replace('cat_id='.$matches[1].'&', '', $query);
$query = str_replace('&cat_id='.$matches[1], '', $query);
$query = str_replace('cat_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
$url = str_replace('categories.php', 'cat.htm', $url);
}
}
elseif (strstr($url, 'details.php?image_id=')) {
if (strstr($url, 'image_id=') && strstr($url, 'mode=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches1);
preg_match('#mode=([a-zA-Z0-9]+)&?#', $url, $matches2);
if (isset($matches1[1]) && isset($matches2[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.$matches1[1].'.'.$matches2[1].'.htm', $url);
$query = str_replace('image_id='.$matches1[1].'&', '', $query);
$query = str_replace('&image_id='.$matches1[1], '', $query);
$query = str_replace('image_id='.$matches1[1], '', $query);
$query = str_replace('mode='.$matches2[1].'&', '', $query);
$query = str_replace('&mode='.$matches2[1], '', $query);
$query = str_replace('mode='.$matches2[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
else {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('details.php', 'img'.get_image_url($matches[1]).'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
elseif (strstr($url, 'postcards.php?image_id=')) {
preg_match('#image_id=([0-9]+)&?#', $url, $matches);
if (isset($matches[1])) {
$split = explode('?', $url);
$url = $split[0];
$query = @$split[1];
$url = str_replace('postcards.php', 'postcard.img'.$matches[1].'.htm', $url);
$query = str_replace('image_id='.$matches[1].'&', '', $query);
$query = str_replace('&image_id='.$matches[1], '', $query);
$query = str_replace('image_id='.$matches[1], '', $query);
if (!empty($query)) {
$url .= '?' . $query;
}
}
}
}
if ($this->mode == "get" && strstr($url, $this->session_id)) {
$url .= strpos($url, '?') !== false ? '&' : '?';
$url .= SESSION_NAME."=".$this->session_id;
}
if (!empty($l)) {
$url .= strpos($url, '?') ? '&' : '?';
$url .= "l=".$l;
}
$url = str_replace('&', $amp, $url);
$url .= isset($dummy_array[1]) ? "#".$dummy_array[1] : "";
return $url;
}
========================================================================
========================================================================
4. In include/sessions.php following functions are useful for URL's like
yoursite.com/maincategory/subcategory/imagename.htm
This is not necessairy if you want url's (like we used on our sites) like this :
for image --->http://www.your-site.com/img-imagename-andnumber.htm
category --->http://www.your-site.com/cat-categoryname-andnumber.htm
========================================================================
//Mod_bmollet
/**
* Get the category id
* @param array $path An array with the path of the category
* @param int $parent_id The parent id of the first item in the $path
*/
function get_category_id($path,$parent_id = 0)
{
$cat_name = array_shift($path);
global $site_db;
$sql = "SELECT cat_id FROM ".CATEGORIES_TABLE." WHERE cat_parent_id = $parent_id AND cat_name = '".mysql_real_escape_string($cat_name)."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
if( count($path) != 0)
{
return get_category_id($path,$row['cat_id']);
}
else
{
return $row['cat_id'];
}
}
//Mod_bmollet
/**
* Get the image id
* @param array $path An array with the path of the image
*/
function get_image_id($path)
{
global $site_db;
$image_name = array_pop($path);
$cat_id = get_category_id($path);
$sql = "SELECT image_id FROM ".IMAGES_TABLE." WHERE image_name = '".mysql_real_escape_string($image_name)."' AND cat_id = $cat_id";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
return $row['image_id'];
}
========================================================================
-
Dear
I want to know
are there any disadvantages for this mod
because i see it's a simple than Google Friendly Urls For 4images Best Seo Mod
thanks