Pretty urls
Permalink 1 user found helpful
Have put my installation in a folder called /cms/ one level in from the root directory. Have enabled pretty urls and have been told to add this code.
put this in my .htaccess on my first level but it doesn't work. Comes up with a page saying "No input file specified." If I gohttp://my_domain/cms/index.php/history/... it still comes up with the page?
Have never managed to get pretty urls working using the so called simple instructions. Where am I going wrong?
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cms/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
put this in my .htaccess on my first level but it doesn't work. Comes up with a page saying "No input file specified." If I gohttp://my_domain/cms/index.php/history/... it still comes up with the page?
Have never managed to get pretty urls working using the so called simple instructions. Where am I going wrong?
are you sure your host supports it?
Could you tell me what I need to ask them?
ask them if they support mod_rewrite or just tell us your host and i can check
My hosting company says that they do
http://www.ivhosting.com/
but replied
Hello,
yes, mod_rewrite is installed however php files have to have .php extension.
http://www.ivhosting.com/
but replied
Hello,
yes, mod_rewrite is installed however php files have to have .php extension.
I'm still getting on the pretty url setting a not so pretty error saying
http://mydomain/cms/history/
No input file specified.
http://mydomain/cms/index.php/history/...
is still working so seo friendly urls not working
http://mydomain/cms/history/
No input file specified.
http://mydomain/cms/index.php/history/...
is still working so seo friendly urls not working
I too am drawing a complete blank on pretty URLs. I have 5.4.0.5 installed. Mod_rewrite is installed. Here is the text of the .htaccess file. I have tried it on the root (athttp://www.holidexchange.com/ and on the /nz/ directory where C5 is loaded and for good measure on both.
Where do I go from here?
My web host says that mod_rewrite is loaded and working well with other applications such as wordpress and joomla.
Do I need to get into the server configuration file?
Can anyone help please?
Regards,
Brian
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /nz/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
Where do I go from here?
My web host says that mod_rewrite is loaded and working well with other applications such as wordpress and joomla.
Do I need to get into the server configuration file?
Can anyone help please?
Regards,
Brian
Do you see anything in your http logs? Also, .htaccess file permission must be set readable by the user that apache runs as. Or maybe the .htaccess file needs to be in the /cms directory, not your webroot.
Thanks.
The .htaccess file is CHMOD 644 - read by all & write by owner. It is in the CMS directory. No luck.
The .htaccess file is CHMOD 644 - read by all & write by owner. It is in the CMS directory. No luck.
You can put some mod_rewite debugging lines in your .htaccess to see what it is doing, if anything :)
RewriteLog /tmp/rewrite.log
RewriteLogLevel 9
RewriteLog /tmp/rewrite.log
RewriteLogLevel 9
I inserted this code as you suggested
and the site crashed with an Internal Server Error message.
The error message in the log is
Does this tell you anything
Brian
RewriteLog /tmp/rewrite.log RewriteLogLevel 9
and the site crashed with an Internal Server Error message.
The error message in the log is
[Wed Jun 09 09:50:58 2010] [alert] [client 217.43.156.211] /var/www/vhosts/holidexchange.com/httpdocs/nz/.htaccess: RewriteLog not allowed here
Does this tell you anything
Brian
Yea, that tells me apache acan see the .htaccess files, but you can only use the mod_rewite logging in the apache .conf file(s) Do you have access to the apache config files? If you add those line there you will need to re-start apache.
I have a VPS I have been into the file below in /var/www/vhosts/holidexchange.com/conf/httpd.includes which reads as follows
I followed instructions and created .../conf/vhost.conf into which I inserted the code prescribed by C5 for pretty URLs. Nothing happened. I can get into the server with Putty but I do not know how to restart it. That I would need to get the webhost to do. I am not sure what I am trying to do by restarting the server. There are live sites on the server and I can't take risks.
Is there anywhere / any document that tells me how to do this all from start to finish. I don't know what is expected to happen at each stage. For example should I do all this before I load the pages I want to prettify?
I have also tried writing in the code suggested inhttp://www.concrete5.org/community/forums/documentation_efforts/sol...
I just do not understand what needs doing and when I contact the web hosts they ask "What do you want us to do?"
Regards,
Brian
# ATTENTION! # DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK # FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM # MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE # FOLLOWING FILE(S): # /var/www/vhosts/holidexchange.com/conf/vhost.conf # /var/www/vhosts/holidexchange.com/subdomains/<subdomain-name>/conf/vhost.conf <VirtualHost 213.175.213.134:80> ServerName holidexchange.com:80 ServerAlias www.holidexchange.com UseCanonicalName Off SuexecUserGroup aer2iego psacln DocumentRoot /var/www/vhosts/holidexchange.com/httpdocs CustomLog /var/www/vhosts/holidexchange.com/statistics/logs/access_log plesklog ErrorLog /var/www/vhosts/holidexchange.com/statistics/logs/error_log
Viewing 15 lines of 66 lines. View entire code block.
I followed instructions and created .../conf/vhost.conf into which I inserted the code prescribed by C5 for pretty URLs. Nothing happened. I can get into the server with Putty but I do not know how to restart it. That I would need to get the webhost to do. I am not sure what I am trying to do by restarting the server. There are live sites on the server and I can't take risks.
Is there anywhere / any document that tells me how to do this all from start to finish. I don't know what is expected to happen at each stage. For example should I do all this before I load the pages I want to prettify?
I have also tried writing in the code suggested inhttp://www.concrete5.org/community/forums/documentation_efforts/sol...
I just do not understand what needs doing and when I contact the web hosts they ask "What do you want us to do?"
Regards,
Brian
You are right, playing with this on a live multi-site server is risky. I was trying to see if mod_rewrite was doing anything by turning on the logger, but that is not possible in your situation. Do you see anything interesting in either of the logs (/var/www/vhosts/holidexchange.com/statistics/logs/access_log plesklog and/or /var/www/vhosts/holidexchange.com/statistics/logs/error_log) mentioned in your vhost config?
Here is the access log when I visited the page aboutintervac.php whose unpretty URL is index.php?cID=85. There is no error log and no suggestion that the .htaccess file is doing anything
I have asked the web host to give me proof that the mod_rewrite is enabled / on.
Regards,
Brian
86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/concrete/css/ccm.base.css?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 146 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/concrete/js/jquery.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 149 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/concrete/js/ccm.base.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 147 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/concrete/js/jquery.form.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/concrete/js/jquery.metadata.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 147 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/jquery.ui.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 149 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/jquery.rating.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:34 +0000] "GET /nz/index.php/tools/required/i18n_js HTTP/1.1" 200 4768 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/jquery.colorpicker.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/css/jquery.ui.css?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 147 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/ccm.dialog.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/ccm.themes.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 147 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/ccm.filemanager.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/ccm.search.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)" 86.172.78.56 - - [10/Jun/2010:12:54:35 +0000] "GET /nz/concrete/js/ccm.ui.js?v=883b9cb2814957644f2835671abab2b7 HTTP/1.1" 304 148 "http://www.holidexchange.com/nz/index.php?cID=85" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)"
Viewing 15 lines of 28 lines. View entire code block.
I have asked the web host to give me proof that the mod_rewrite is enabled / on.
Regards,
Brian
Your log is confusing. First off, I don't see the initial "GET" from the /nz subdirectory. Secondly, your c5 installation does not appear to be using MVC syntax. Example: To hit the site home should be
"http://www.xxxx.com/nz/", and a page off of home should be something like "http://www.xxx.com/nz/pagename/". I don't have a clue where the "index.php?cID=xx" stuff is coming from.
Also, your HTTP return status is "Not Modified" (304)? Should be "OK" (200).
My development c5 is installed in a c54 subdirectory off the webroot. Attached are some log entries of what a request should look like.
This about has to be a apache configuration issue.
Not sure what all is going on here...
"http://www.xxxx.com/nz/", and a page off of home should be something like "http://www.xxx.com/nz/pagename/". I don't have a clue where the "index.php?cID=xx" stuff is coming from.
Also, your HTTP return status is "Not Modified" (304)? Should be "OK" (200).
My development c5 is installed in a c54 subdirectory off the webroot. Attached are some log entries of what a request should look like.
This about has to be a apache configuration issue.
Not sure what all is going on here...
Many thanks for your continued interest.
This is the log when you enterhttp://www.holidexchange.com/nz...
If you enterwww.www.holidexchange.com/nz/indexphp?cID=88... you get my page that should be named /nz/code.php but it isn't The log is
index.php?cID=xx is the pagename assigned to the subsidiary pages and the whole point for me of pretty urls is to get rid of it and to rewrite the name as "code.php". The parameter ?cID=xx screws other programmes up that I want to install.
I generated the previous log by clicking on "visit" in the C5 dashboard after back clicking on a subsidiary page in the sitemap.
I fear if you do not see what is going I do not have a chance.
What I want to know is how to load a page that is on themes/nameoftheme/pagename.php as /nz/pagename.php and not /nz/index.php?cID=xx.
Surely that is what enabling pretty URLs is all about
I have spent four days on it so far. My web host is still asking me "What are your requirements?"
Regards,
Brian
This is the log when you enterhttp://www.holidexchange.com/nz...
86.172.78.56 - - [10/Jun/2010:18:31:07 +0000] "GET /nz/ HTTP/1.1" 200 42509 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)"
If you enterwww.www.holidexchange.com/nz/indexphp?cID=88... you get my page that should be named /nz/code.php but it isn't The log is
86.172.78.56 - - [10/Jun/2010:18:45:20 +0000] "GET /nz/index.php?cID=88 HTTP/1.1" 200 14838 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 ( .NET CLR 3.5.30729)"
index.php?cID=xx is the pagename assigned to the subsidiary pages and the whole point for me of pretty urls is to get rid of it and to rewrite the name as "code.php". The parameter ?cID=xx screws other programmes up that I want to install.
I generated the previous log by clicking on "visit" in the C5 dashboard after back clicking on a subsidiary page in the sitemap.
I fear if you do not see what is going I do not have a chance.
What I want to know is how to load a page that is on themes/nameoftheme/pagename.php as /nz/pagename.php and not /nz/index.php?cID=xx.
Surely that is what enabling pretty URLs is all about
I have spent four days on it so far. My web host is still asking me "What are your requirements?"
Regards,
Brian
Here is another interesting observation. According to your first log, your broswer was send 42509 bytes of data. I wonder what your browser did receive? On the second log you recieved 14838 bytes.
That is because the first log was sent from the inside the dashboard.
Brian
Brian
@brianhayes said:
"Surely that is what enabling pretty URLs is all about"
Pretty URLS relies on the MVC concept. Meaning that when I go to URL /nz/pagename/ there is no file called pagename.php, we are really going to /nz/index.php/pagename/. Making it "pretty" just gets rid of the /index.php/ part.
"Surely that is what enabling pretty URLs is all about"
Pretty URLS relies on the MVC concept. Meaning that when I go to URL /nz/pagename/ there is no file called pagename.php, we are really going to /nz/index.php/pagename/. Making it "pretty" just gets rid of the /index.php/ part.
Thank you again
@nteaviation said
"Example: To hit the site home should be
"http://www.xxxx.com/nz/", and a page off of home should be something like "http://www.xxx.com/nz/pagename/".... I don't have a clue where the "index.php?cID=xx" stuff is coming from."
If I could achieve a situation where my pages were shown as "http://www.xxx.com/nz/pagename/" rather than "http://www.xxx.com/nz/index.php?cID=xx" I would be perfectly relaxed.
My C5 is 5.4.0.5. I have taken an existing site which has /index.php, /pagenameone.php, /pagenametwo.php, /pagenamethree.php and so on and I am trying to put it on C5 without a URL that starts with or includes a (?).
I put all the files on thehttp://www.xxx.com/nz/themes/my-name/... directory and changed index.php to default.php leaving the other files with their original names. When I add pages using pagenameone.php, pagenametwo.php etc using the Page Type that C5 creates based on those pages in the nz/themes/my-name/ directory, C5 gives them the name /index.php?cID=85, /index.php?cID=86 and so on.
@nteaviation said
".... I don't have a clue where the "index.php?cID=xx" stuff is coming from."
but @brianhayes does not have a clue where
". . a page off of home should be something like "http://www.xxx.com/nz/pagename/" is coming from.
The point of my exercise is that I am using an existing site in the UK to create a CMS platform that colleagues in other countries/markets can modify/change/translate without knowledge of HTML. For reasons that I will not go into the question is how do I load the files other than the index/default.php file so that the "?cID=xx" does not appear. It is the ? that I cannot live with as it messes up other scripts that are fundamental to the project for other reasons.
I do not know what MVC is all about but changing /nz/index.php?cID=85 to /nz/?cID=85 is of no use to me and calling it a "Pretty" URL, which I assume means "Search Engine Friendly", would be quite misleading.
So, please, how do you achievehttp://www.xxx.com/nz/pagename/... for pages other than the home/index/default page?
Regards,
Brian
@nteaviation said
"Example: To hit the site home should be
"http://www.xxxx.com/nz/", and a page off of home should be something like "http://www.xxx.com/nz/pagename/".... I don't have a clue where the "index.php?cID=xx" stuff is coming from."
If I could achieve a situation where my pages were shown as "http://www.xxx.com/nz/pagename/" rather than "http://www.xxx.com/nz/index.php?cID=xx" I would be perfectly relaxed.
My C5 is 5.4.0.5. I have taken an existing site which has /index.php, /pagenameone.php, /pagenametwo.php, /pagenamethree.php and so on and I am trying to put it on C5 without a URL that starts with or includes a (?).
I put all the files on thehttp://www.xxx.com/nz/themes/my-name/... directory and changed index.php to default.php leaving the other files with their original names. When I add pages using pagenameone.php, pagenametwo.php etc using the Page Type that C5 creates based on those pages in the nz/themes/my-name/ directory, C5 gives them the name /index.php?cID=85, /index.php?cID=86 and so on.
@nteaviation said
".... I don't have a clue where the "index.php?cID=xx" stuff is coming from."
but @brianhayes does not have a clue where
". . a page off of home should be something like "http://www.xxx.com/nz/pagename/" is coming from.
The point of my exercise is that I am using an existing site in the UK to create a CMS platform that colleagues in other countries/markets can modify/change/translate without knowledge of HTML. For reasons that I will not go into the question is how do I load the files other than the index/default.php file so that the "?cID=xx" does not appear. It is the ? that I cannot live with as it messes up other scripts that are fundamental to the project for other reasons.
I do not know what MVC is all about but changing /nz/index.php?cID=85 to /nz/?cID=85 is of no use to me and calling it a "Pretty" URL, which I assume means "Search Engine Friendly", would be quite misleading.
So, please, how do you achievehttp://www.xxx.com/nz/pagename/... for pages other than the home/index/default page?
Regards,
Brian
I would suggest that you take a look at what "MVC (Module, View, Controller)" is. It is fundamental to the way website are being designed and developed. There is most likely a way that c5 can be adapted to achieve your goal.
I am really a server guy, but have been doing web design and development for years (just because no one else wold do it *LOL*). At this point, maybe someone else could chime in with some ideas how to migrate your existing site to c5 and still leave hooks in for your other system requirements. Good luck :)
I am really a server guy, but have been doing web design and development for years (just because no one else wold do it *LOL*). At this point, maybe someone else could chime in with some ideas how to migrate your existing site to c5 and still leave hooks in for your other system requirements. Good luck :)
Success at last!!
I finally found what I was doing wrong thanks to your explanations. When I created the Page Type, C5 of course assigned a URL like /nz/index.php?cID=xx and I was expecting the pretty code script to change this to, for example, /nz/testimonials. When however I set up the links to and from /nz/testimonials rather than /nz/index.php?cID=xx it worked. I also found that it is necessary to add the page called testimonials and save/publish it before setting up the Additional Page URL in Page Paths and Locations (under Properties).
Two basic errors and the only way I got to find them was from the clues you gave me.
Many thanks.
In case any one else has the same difficulties I will write up a recommended step by step approach (including the stuff I learn't from you how to work out if the server was configured properly. Also the script I use that relies on the ?cID=xx stuff not being there works fine.
My regards,
Brian
I finally found what I was doing wrong thanks to your explanations. When I created the Page Type, C5 of course assigned a URL like /nz/index.php?cID=xx and I was expecting the pretty code script to change this to, for example, /nz/testimonials. When however I set up the links to and from /nz/testimonials rather than /nz/index.php?cID=xx it worked. I also found that it is necessary to add the page called testimonials and save/publish it before setting up the Additional Page URL in Page Paths and Locations (under Properties).
Two basic errors and the only way I got to find them was from the clues you gave me.
Many thanks.
In case any one else has the same difficulties I will write up a recommended step by step approach (including the stuff I learn't from you how to work out if the server was configured properly. Also the script I use that relies on the ?cID=xx stuff not being there works fine.
My regards,
Brian
Excellent! Glad I could help and you got it resolved. I look forward to reading your "step-by-step".
Brian
Thanks so much - I had been grappling with this for ages and had given up. From reading your last post, I realised it was because the navigation bar in the header had the original links. Changed those and now everything is fine - I can now do this for the other websites I have built - excellent :-)
Thanks so much - I had been grappling with this for ages and had given up. From reading your last post, I realised it was because the navigation bar in the header had the original links. Changed those and now everything is fine - I can now do this for the other websites I have built - excellent :-)
Dear Jonsel,
Thanks for the comment. I was beginning to think I was an idiot and it is nice to know that someone else's problem has also been solved.
Regards,
Brian
Thanks for the comment. I was beginning to think I was an idiot and it is nice to know that someone else's problem has also been solved.
Regards,
Brian
I have the same problem with error message "No input file specified". Tried the solution from Brian, but no success.
Brian, could you provide a step by step instruction how I should proceed?
tanks a lot
Brian, could you provide a step by step instruction how I should proceed?
tanks a lot
This blog follows on from my earlier blog to put an existing site on Concrete5. An important point is that I am not using the C5 navigation system. I use <? include ('includes/nav.php'); ?> to call up a navigation bar in /Myname/includes/nav.php that is based on a jQuery plugin that I do not want to change.
For the record I started with a virgin copy of C5 v5.4.0.5 and PHP5 installed.
Having loaded the full site on to the following pathhttp://www.mysite.com/dev/themes/Myname/,... where /dev/ in the C5 root folder, and changed the index file to default.php obviously I left unchanged all the other files in the folder. When the Myname theme is loaded and installed the other files appear as Page Types. These files include, for the sake of illustration, aboutus.php and contactus.php and the “Pretty URLs” that I want arehttp://www.mysite.com/dev/aboutus... and /dev/contactus. Note there is no .php extension (or.html extension or whatever). By the way “Pretty URLs” should really refer to Search Engine Friendly URLs
The steps are fairly straightforward.
1. Go to Sitewide Settings in the dashboard and enable Pretty URLs. C5 will provide you with code that you must download and put into an “.htaccess” file. Mine is as follows
2. Do this by opening Windows Notepad inserting the C5 code and saving the file as .htacesss. Notepad may try and save it as .htaccess.txt, which is useless – it must be .htaccess and nothing else.
3. Upload the .htaccess file tohttp://www.mysite.com /dev/.htaccess. or to whatever folder C5 is loaded on to. If C5 is on the roothttp://www.mysite.com/ (or a folder you have not created yourself) you must check that there is no other .htaccess file already there. Most FTP programmes will do this for you. If there is, you need to download that .htaccess file and add the C5 code to what you already have. Leave a line free before you paste it in. Note that if you clear out what is already there you are in trouble.
4. Now load the pages aboutus and contactus. Go to the index page press “Add Page” and select the Aboutus Page Type, which is based on the file aboutus.php that you loaded in /dev/themes/Myname/aboutus.php. Note all changes that you make in Myname/aboutus.php will be reflected in the Page Type Aboutus.
5. Give it the title “aboutus”.
6. Save it by pressing “Exit Edit Page” and publish it.
7. Go back into “Edit Page”, find Properties then “Page Path and Location”. You will find that C5 will have assigned the URLhttp://www.mysite.com/dev/aboutus....
8.In Additional Page URL(s) add “/aboutus” without the quotes.
9. Save and publish.
10. Repeat the procedure for the contactus page.
For me the job was now done. In my file includes/nav.php (which is inhttp://www.mysite.com/dev/themes/Myname/includes/nav.php... the path to contactus and aboutus and all the other files is set to “<a href="/dev/aboutus”. Thus to test if the .htaccess file is doing its job I just click on any link to <a href="/dev/aboutus”> or <a href="http://www.mysite.com/dev/aboutus">. The mistake I made was to assume that you could test the Pretty URL by clicking on aboutus and contactus in the Sitemap in the C5 dashboard. If you do that you are sent tohttp://www.mysite.com/dev/index.php?cID=xx... or /dev/index.php?cID=yy which are the URLs that C5 has given your aboutus and contactus pages. The code you inserted in the .htaccess file,however, redirects the browser from these URLs to the additional URLs that C5 has created for you when you enabled Pretty URLs.
Clear as mud? It is the best I can do. Note my consistency. The file I load to the Myname/ directory is aboutus.php, the Page Type becomes Aboutus, the title I give it is aboutus, and the path of the additional URL I set is /dev/aboutus. I never use any extension – if you do C5 will change aboutus.php to aboutus-php. Also I have tried to get all my cases right - the names are all case sensitive. Paths obviously are critical and I hope I have got them all right - but no guarantees.
What if it does not work? It is the code in the .htaccess file in the /dev/ folder that is doing the business of redirecting /dev/index.php?cID=88 (or 89 or whatever) to /dev/aboutus or /dev/contactus or whatever. If it is not doing this job you have a server configuration problem or I have made an error in this blog. You must be sure that “Mod-rewrite” is enabled. On my Apache server (which is a VPS) I went to /var/etc/httpd/conf/httpd.conf and I found the line “LoadModule rewrite_module modules/mod_rewrite.so” . I was told to do this by the articlehttp://articles.sitepoint.com/article/guide-url-rewriting... . Be very afraid of changing anything in this file – there is no harm in looking at it but don’t even breathe when you are doing so. If Mod-rewrite is not enabled because “LoadModule rewrite_module modules/mod_rewrite.so” is not there or has a # in front of it to disable it the server must be recoded and restarted a task I would not even consider trying myself.
Good luck!
Brian
For the record I started with a virgin copy of C5 v5.4.0.5 and PHP5 installed.
Having loaded the full site on to the following pathhttp://www.mysite.com/dev/themes/Myname/,... where /dev/ in the C5 root folder, and changed the index file to default.php obviously I left unchanged all the other files in the folder. When the Myname theme is loaded and installed the other files appear as Page Types. These files include, for the sake of illustration, aboutus.php and contactus.php and the “Pretty URLs” that I want arehttp://www.mysite.com/dev/aboutus... and /dev/contactus. Note there is no .php extension (or.html extension or whatever). By the way “Pretty URLs” should really refer to Search Engine Friendly URLs
The steps are fairly straightforward.
1. Go to Sitewide Settings in the dashboard and enable Pretty URLs. C5 will provide you with code that you must download and put into an “.htaccess” file. Mine is as follows
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /dev/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
2. Do this by opening Windows Notepad inserting the C5 code and saving the file as .htacesss. Notepad may try and save it as .htaccess.txt, which is useless – it must be .htaccess and nothing else.
3. Upload the .htaccess file tohttp://www.mysite.com /dev/.htaccess. or to whatever folder C5 is loaded on to. If C5 is on the roothttp://www.mysite.com/ (or a folder you have not created yourself) you must check that there is no other .htaccess file already there. Most FTP programmes will do this for you. If there is, you need to download that .htaccess file and add the C5 code to what you already have. Leave a line free before you paste it in. Note that if you clear out what is already there you are in trouble.
4. Now load the pages aboutus and contactus. Go to the index page press “Add Page” and select the Aboutus Page Type, which is based on the file aboutus.php that you loaded in /dev/themes/Myname/aboutus.php. Note all changes that you make in Myname/aboutus.php will be reflected in the Page Type Aboutus.
5. Give it the title “aboutus”.
6. Save it by pressing “Exit Edit Page” and publish it.
7. Go back into “Edit Page”, find Properties then “Page Path and Location”. You will find that C5 will have assigned the URLhttp://www.mysite.com/dev/aboutus....
8.In Additional Page URL(s) add “/aboutus” without the quotes.
9. Save and publish.
10. Repeat the procedure for the contactus page.
For me the job was now done. In my file includes/nav.php (which is inhttp://www.mysite.com/dev/themes/Myname/includes/nav.php... the path to contactus and aboutus and all the other files is set to “<a href="/dev/aboutus”. Thus to test if the .htaccess file is doing its job I just click on any link to <a href="/dev/aboutus”> or <a href="http://www.mysite.com/dev/aboutus">. The mistake I made was to assume that you could test the Pretty URL by clicking on aboutus and contactus in the Sitemap in the C5 dashboard. If you do that you are sent tohttp://www.mysite.com/dev/index.php?cID=xx... or /dev/index.php?cID=yy which are the URLs that C5 has given your aboutus and contactus pages. The code you inserted in the .htaccess file,however, redirects the browser from these URLs to the additional URLs that C5 has created for you when you enabled Pretty URLs.
Clear as mud? It is the best I can do. Note my consistency. The file I load to the Myname/ directory is aboutus.php, the Page Type becomes Aboutus, the title I give it is aboutus, and the path of the additional URL I set is /dev/aboutus. I never use any extension – if you do C5 will change aboutus.php to aboutus-php. Also I have tried to get all my cases right - the names are all case sensitive. Paths obviously are critical and I hope I have got them all right - but no guarantees.
What if it does not work? It is the code in the .htaccess file in the /dev/ folder that is doing the business of redirecting /dev/index.php?cID=88 (or 89 or whatever) to /dev/aboutus or /dev/contactus or whatever. If it is not doing this job you have a server configuration problem or I have made an error in this blog. You must be sure that “Mod-rewrite” is enabled. On my Apache server (which is a VPS) I went to /var/etc/httpd/conf/httpd.conf and I found the line “LoadModule rewrite_module modules/mod_rewrite.so” . I was told to do this by the articlehttp://articles.sitepoint.com/article/guide-url-rewriting... . Be very afraid of changing anything in this file – there is no harm in looking at it but don’t even breathe when you are doing so. If Mod-rewrite is not enabled because “LoadModule rewrite_module modules/mod_rewrite.so” is not there or has a # in front of it to disable it the server must be recoded and restarted a task I would not even consider trying myself.
Good luck!
Brian
I trashed my site and started new - without the initial pages being created. I checked the "pretty urls" and put the code in my .htaccess located in the root of my site - not in the concrete5 directory (which is underhttp://www.begeeky.com/gms).
When I created a new "about" page, I put about in the Canonical URL about so the path to this page should behttp://www.begeeky.com/gms/about...
However, when I go to begeeky.com/gms and click on the about page it goes to:
http://www.begeeky.com/gms/about...
and then I get an error message that the link appears to be broken. I use godaddy as my hosting platform - so there is not much I can do as far as apache settings. Any suggestions? BTW, I am testing this product out, so I have no problems re-installing.
here is what I have in my .htaccess:
redirect 301 /index.htmlhttp://www.begeeky.com/gms
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /gms/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Note that the index.html file is empty - it is just a way for me to redirect the site
When I created a new "about" page, I put about in the Canonical URL about so the path to this page should behttp://www.begeeky.com/gms/about...
However, when I go to begeeky.com/gms and click on the about page it goes to:
http://www.begeeky.com/gms/about...
and then I get an error message that the link appears to be broken. I use godaddy as my hosting platform - so there is not much I can do as far as apache settings. Any suggestions? BTW, I am testing this product out, so I have no problems re-installing.
here is what I have in my .htaccess:
redirect 301 /index.htmlhttp://www.begeeky.com/gms
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /gms/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Note that the index.html file is empty - it is just a way for me to redirect the site
I could be wrong, but it appears that mod_rewrite is not working and/or "Pretty URLS" is not turned on in the Dashboard. You may try putting the .htaccess in the /gms directory.