Pretty URLs, mod-rewrite problems
Permalink 8 users found helpful
Installation went fine, and everything is working like a charm, except for the SEO friendly URL's feature. When I activate that setting, and create the .htaccess file in the root of my c5 install like the settings tells me to, it seems to work fine, but clicking any links just reload the current page. For example, on the home page of my site, if I click "Dashboard" it just reloads the home page. Any ideas? Here's my .htaccess just in case:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
You mind adding phpinfo() to your index.php file and posting your url somewhere?
Sure thing:
http://www.bluetrip.org
Sorry, posted my reply in the wrong place and deleting doesn't work. See my reply below.
Mike,
Did you perhaps just fix this? I noticed the problem you were having, and then all of a sudden it seemed to have fixed itself.
Care to share what you did? It looks to me like ORIG_PATH_INFO was how we were expecting it to be formed, and SCRIPT_NAME was not.
I've found that going to
bluetrip.org/login
does not work. But going to
bluetrip.org/login/
does.
Will keep poking.
Nope, I haven't changed anything so far. Thanks for your help, andrew.
Since it seems to work whenever there's a trailing slash, can I just change .htaccess to add a rule which appends / onto any url that doesn't already have one?
Let's see if that works
Dealing with servers and their various replies for script name, path info, orig path info, etc.. is so frustrating
Try commenting out this line in
concrete/libraries/request.php
$path = str_replace($_SERVER['SCRIPT_NAME'], '', '/' . $path);
Well I did it, and it seems to have worked. Will that have any effects on anything else?
If not, then we're good to go. Thanks a ton for all your help.
but to be really sure i would login to the dashboard and
1. Create a new user account ( just to make sure that entire process works )
2. Activate a new theme on your site.
If you can do both of those things you should be good to go.
FYI: I just installed c5 on another provider (dynamic-net.ch). There I also had to remove the line you mentioned!
Hi Andrew,
actually changed the request.php?
I've tried too activate pretty url's but it ended in this response:
"No input file specified."
Made the changes in request.php but the line you mentioned with str_replace has changed a little bit or?
actually changed the request.php?
I've tried too activate pretty url's but it ended in this response:
"No input file specified."
Made the changes in request.php but the line you mentioned with str_replace has changed a little bit or?
ok i tried again but....
1. i added following to my .htaccess:
i don't need the ifmodule because it's already included.
Ok didn't work, with the result after clicking on a link:
"No input file specified"
2.Contacted my provider
Their code:
Now pretty URL is enabled but index.php is still shown.
The answer of my provider why it might not work:
"We could feed a working .htaccess-File, which avoid the "index.php" in your links. Sadly, your CMS does only support clear a redirect and not a direct rewriting, because your script converts the request-uri and is depending on "index.php" when calling."
Works, but index.php is still shown...
Does anyone has a little experience with this and can help?
1. i added following to my .htaccess:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
i don't need the ifmodule because it's already included.
Ok didn't work, with the result after clicking on a link:
"No input file specified"
2.Contacted my provider
Their code:
#RewriteEngine On #RewriteBase / #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !(index\.php) #RewriteRule ^(.*)$ index.php/$1 [R,L]
Now pretty URL is enabled but index.php is still shown.
The answer of my provider why it might not work:
"We could feed a working .htaccess-File, which avoid the "index.php" in your links. Sadly, your CMS does only support clear a redirect and not a direct rewriting, because your script converts the request-uri and is depending on "index.php" when calling."
Works, but index.php is still shown...
Does anyone has a little experience with this and can help?
Did you paste the code above directly into .htaccess? I'm only asking because it has # symbols in front of each line...and so those lines aren't going to actually do anything, because they're commented out.
If so, what happens when you remove the # symbol? Still get no input file specified?
Is this site public somewhere?
If so, what happens when you remove the # symbol? Still get no input file specified?
Is this site public somewhere?
hi andrew,
no it's not uncommented, it's present and you can visit it here
http://www.concrete5.info
no it's not uncommented, it's present and you can visit it here
http://www.concrete5.info
So what is the official solution for enabling pretty urls on IIS served concrete5 installations that use ISAPI_Rewrite rather than the apache .htaccess technique?
Is it adding some ISAPI_Rewrite lines in (in my case httpd.ini) plus hacking a line in the concrete5 php source code? (and if so, does that cover the latest releases of the code base or just some earlier versions)? Can we get an official radio button in the concrete5 dashboard with the correct instructions for IIS?
Should I wait till this gets sorted out with a new release - hacking the source seems like a workaround?
Is it adding some ISAPI_Rewrite lines in (in my case httpd.ini) plus hacking a line in the concrete5 php source code? (and if so, does that cover the latest releases of the code base or just some earlier versions)? Can we get an official radio button in the concrete5 dashboard with the correct instructions for IIS?
Should I wait till this gets sorted out with a new release - hacking the source seems like a workaround?
"officially" concrete5 doesnt support windows - that's a cute OS for playing games, not runnin' web servers. <grins>
Practically, I think the answer will most likely be some detailed how-to's under the system requirements page in help, which we plan to update soon.
Certainly if there's something we can change that doesn't impact unix installs I'm all for it. Strikes me that installation support is no fun though, and one of those things where the more you try to cater to all systems, the more time it consumes.
Practically, I think the answer will most likely be some detailed how-to's under the system requirements page in help, which we plan to update soon.
Certainly if there's something we can change that doesn't impact unix installs I'm all for it. Strikes me that installation support is no fun though, and one of those things where the more you try to cater to all systems, the more time it consumes.
another try howto handle it
and a second one
The first one redirects me always to the home of my page, but the address in the browser is without index.php, how it should be.
In the second case the address is shown up without index.php too, but i get the error 'no input file specified.
Any help on this would be a peach ;)
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !(index\.php) RewriteRule ^(.*)$ index.php?/$1 [L]
and a second one
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !(index\.php) RewriteRule ^(.*)$ /index.php/$1 [L]
The first one redirects me always to the home of my page, but the address in the browser is without index.php, how it should be.
In the second case the address is shown up without index.php too, but i get the error 'no input file specified.
Any help on this would be a peach ;)
Hi,
I think I have the same problems as you have. We both are at domainfactory, right?
php is running in cgi mode there. I figured out one problem is the variable PATH_INFO. It's not set correct. Better is REQUEST_URI as seen here:http://fritzthomas.com/php/34-php-no-input-file-specified-error/...
So I changed the following:
in request.php I added
Then changed my .htaccess to:
This works now. One problem is still there. When I'm in edit mode the editing div in the top is missing on the main side - only on the main side. Any ideas?
Thanks
Jan
I think I have the same problems as you have. We both are at domainfactory, right?
php is running in cgi mode there. I figured out one problem is the variable PATH_INFO. It's not set correct. Better is REQUEST_URI as seen here:http://fritzthomas.com/php/34-php-no-input-file-specified-error/...
So I changed the following:
in request.php I added
if (!$path) {$path = Request::parsePathFromRequest('REQUEST_URI');}
Then changed my .htaccess to:
RewriteRule .* index.php [L]
This works now. One problem is still there. When I'm in edit mode the editing div in the top is missing on the main side - only on the main side. Any ideas?
Thanks
Jan
Hey, I host also at Domainfactory and your nice little request.php hack worked very well for me, too. Thanks.
Maybe it would be a good idea to have those changes to the next C5 release? Domainfactory is not the only host running PHP in CGI mode.
Greets, Nathanael
Edit: Aww, now the edit-button doesn't work:
"Page Not Found
No page could be found at this address. "
Seems to me that the URLparams aren't passed anymore with this rewrite rule. Can anyone confirm this? Or am I just an idiot?
Edit2:
I could fix my Problem. In addition to the mentioned .htaccess change, I replaced in the request.php:
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
with
$path = Request::parsePathFromRequest('REDIRECT_URL');
if (!$path) {
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
}
REDIRECT_URL is IMHO the best solution to get the requested URL (if available), so I use it as the standard method. Now the nice URLs work for me and the edit button, too. Maybe now it's even more a idea to implement this into the core? Can anyone confirm it is working?
Maybe it would be a good idea to have those changes to the next C5 release? Domainfactory is not the only host running PHP in CGI mode.
Greets, Nathanael
Edit: Aww, now the edit-button doesn't work:
"Page Not Found
No page could be found at this address. "
Seems to me that the URLparams aren't passed anymore with this rewrite rule. Can anyone confirm this? Or am I just an idiot?
Edit2:
I could fix my Problem. In addition to the mentioned .htaccess change, I replaced in the request.php:
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
with
$path = Request::parsePathFromRequest('REDIRECT_URL');
if (!$path) {
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
}
REDIRECT_URL is IMHO the best solution to get the requested URL (if available), so I use it as the standard method. Now the nice URLs work for me and the edit button, too. Maybe now it's even more a idea to implement this into the core? Can anyone confirm it is working?
Missed few steps :) Now is working.
htacces looks like:
and request.php file
htacces looks like:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !(index\.php) RewriteRule .* index.php [L] </IfModule>
and request.php file
//$path = Request::parsePathFromRequest('ORIG_PATH_INFO'); $path = Request::parsePathFromRequest('REDIRECT_URL'); if (!$path) { $path = Request::parsePathFromRequest('ORIG_PATH_INFO'); } //if (!$path) { $path = Request::parsePathFromRequest('REQUEST_URI'); } if (!$path) { $path = Request::parsePathFromRequest('PATH_INFO'); } if (!$path) { $path = Request::parsePathFromRequest('SCRIPT_NAME'); }
I used the above methods to solve this method on a UK host which had the same problems
so the .htaccess was
and in request.php I replaced
with
But now i have another problem. Because i use a wordpress blog within my build (mydomianname.com/blog) when i navigate this to that page using an external link in autonav (or just typing in the url for the blog, I actually get a c5 "this page does not exisit page.
EDIT:
I sorted this so that correct .htaccess for me was
Note this is pretty much the same as mod-rewrite provided in the dashboard settings with just the final line altered.
so the .htaccess was
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !(index\.php) RewriteRule .* index.php [L] </IfModule>
and in request.php I replaced
$path = Request::parsePathFromRequest('ORIG_PATH_INFO');
with
$path = Request::parsePathFromRequest('REDIRECT_URL'); if (!$path) { $path = Request::parsePathFromRequest('ORIG_PATH_INFO'); }
But now i have another problem. Because i use a wordpress blog within my build (mydomianname.com/blog) when i navigate this to that page using an external link in autonav (or just typing in the url for the blog, I actually get a c5 "this page does not exisit page.
EDIT:
I sorted this so that correct .htaccess for me was
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L] </IfModule>
Note this is pretty much the same as mod-rewrite provided in the dashboard settings with just the final line altered.
I was having the same problem with mod_rewrite and your steps to modify the .htaccess and /concrete/libraries/request.php files now have the "pretty" urls working for me.
I am also concerned about having to remember to make these fixes every time an update is installed. Is there any chance for these changes to migrate into the core packages, or would that mess up everyone else's installs?
Anyway, thanks again for posting on this.
I am also concerned about having to remember to make these fixes every time an update is installed. Is there any chance for these changes to migrate into the core packages, or would that mess up everyone else's installs?
Anyway, thanks again for posting on this.
I'm not sure about modifying the sample .htaccess that we're include in core (that gets displayed when you click "enable pretty urls" in the dashboard. I've seen enough permutations of this that it makes me want to keep the one we have, and allow people to customize it as you guys in this thread have. Hopefully with enough helpful forum posts like these that'll be pretty easy for people to do. Plus, the .htaccess file isn't affected by upgrades.
The request library, however, is - and we're going to add some support for what's going on in this thread to it. In the next released version of concrete5 I've got the following lines in at the beginning of the Request::get() function:
So you can see, we've added support for a new config definition, that you can add to base.php, "SERVER_PATH_VARIABLE". If you do this:
concrete5 will attempt to use what's contained withint the REDIRECT_URL parameter before parsing anything else.
This should be testable in svn right now.
The request library, however, is - and we're going to add some support for what's going on in this thread to it. In the next released version of concrete5 I've got the following lines in at the beginning of the Request::get() function:
$path = false; if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); } if (!$path) { $path = Request::parsePathFromRequest('ORIG_PATH_INFO'); } if (!$path) { $path = Request::parsePathFromRequest('PATH_INFO'); } if (!$path) { $path = Request::parsePathFromRequest('SCRIPT_NAME'); } $req = new Request($path);
So you can see, we've added support for a new config definition, that you can add to base.php, "SERVER_PATH_VARIABLE". If you do this:
<?php define('SERVER_PATH_VARIABLE', 'REDIRECT_URL'); ?>
concrete5 will attempt to use what's contained withint the REDIRECT_URL parameter before parsing anything else.
This should be testable in svn right now.
Olay -
Thanks again! This got pretty URLs working for me on GoDaddy.
Thanks again! This got pretty URLs working for me on GoDaddy.
Nice work... Worked on Bluehost for me!!!
This worked for me as well with Bluehost as my server provider.
Best!
Best!
I'm running on Bluehost as well and having issues w/ the Pretty URLs. I'm confused as to which solution worked for you. Please clarify.
Thanks!
Thanks!
This worked for me on Dreamhost. Thanks!
This worked for me on Dreamhost. Thanks!
I thought I would add that changing the two files like eOne's directions above fixed pretty URL's on the iPower host. This was on version 5.3.2
Thanks this seems to work on Dreamhost too
Opps seems not.. on every page I get:
Page Not Found
No page could be found at this address.
Does anybody knows how to setup on dreamhost?
Page Not Found
No page could be found at this address.
Does anybody knows how to setup on dreamhost?
I find that switching from Fast-CGI to regular CGI for PHP mode under the Site Setup Option in the Control Panel fixes this problem. However, it varies from Dreamhost server to Dreamhost server as to whether you really need to do this.
Ah thanks... but FAST CGI is preffered for performance.. anyways I solved the problem :)
In concrete 5.3.3.1
/concrete/libraries/request.php
Change line 68:
To
My .htaccess looks like this(but not sure if it matters):
---------------------------------------
Mmmm have problem in the dashboard all links still have index.php.. and the toolbar not show on the frontend x_x
In concrete 5.3.3.1
/concrete/libraries/request.php
Change line 68:
if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); }
To
if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); } if (!$path) { $path = $_SERVER['REQUEST_URI']; }
My .htaccess looks like this(but not sure if it matters):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.*)$ index.php/$1 [L] RewriteRule .* index.php [PT,QSA,L] </IfModule>
---------------------------------------
Mmmm have problem in the dashboard all links still have index.php.. and the toolbar not show on the frontend x_x
Getting very close now :p
If add in config/site.php
And then..
in concrete/base.php
Replace:
By..
And same for concrete/libraries/3rdparty/base.php
And then it works... except.. :p there is somewhere a reference to it in javascript files...
Like:
index.php/tools/required/dashboard/sitemap_data.php?mode=full
But cannot find the location yet..
If add in config/site.php
define('URL_REWRITING_ALL', true);
And then..
in concrete/base.php
Replace:
define('DISPATCHER_FILENAME', 'index.php');
By..
And same for concrete/libraries/3rdparty/base.php
And then it works... except.. :p there is somewhere a reference to it in javascript files...
Like:
index.php/tools/required/dashboard/sitemap_data.php?mode=full
But cannot find the location yet..
OK finally everything is working..
request.php
if (!$path) {
$path = $_SERVER['REDIRECT_SCRIPT_URL'];
}
...........
The rest back to normal and finally seems to work :D dashboard through index.php now.. Dont ask me why lol :P
request.php
if (!$path) {
$path = $_SERVER['REDIRECT_SCRIPT_URL'];
}
...........
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.*)$ index.php/$1 [L] RewriteRule .* index.php [PT,QSA,L] </IfModule>
The rest back to normal and finally seems to work :D dashboard through index.php now.. Dont ask me why lol :P
in Dreamhost your .htaccess must be:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
instead of:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
thats work for me
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
instead of:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
thats work for me
Nice job Mech7.
If you ever wan't to sum it op in a tutorial, it wold be fantastic.
I can't find the "concrete/libraries/3rdparty/base.php" that you mention, but everything seems to work.
If you ever wan't to sum it op in a tutorial, it wold be fantastic.
I can't find the "concrete/libraries/3rdparty/base.php" that you mention, but everything seems to work.
Mech7, you are my hero. I was totally unable to figure out the pretty urls on Dreamhost and none of the other solutions was working till I found yours!
I wanted to update on this as it seems to be a theme that hasn't really been touched in a while. While setting up a Concrete5 install for a customer on a GoDaddy hosting site I ran across this problem with the SEO/Pretty URL's.
Mech7's solution above worked like a charm *except* or maybe to be more explicit I had to make it look like the following in order to get the pretty urls working AND keep the toolbar on the frontend:
Hope this might help some other poor unfortunate soul who has a client who insists on GoDaddy hosting...
Mech7's solution above worked like a charm *except* or maybe to be more explicit I had to make it look like the following in order to get the pretty urls working AND keep the toolbar on the frontend:
public static function get() { static $req; if (!isset($req)) { $path = false; if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); } /* Original Location of the fix as I read it */ if (!$path) { $path = Request::parsePathFromRequest('ORIG_PATH_INFO'); } if (!$path) { $path = Request::parsePathFromRequest('PATH_INFO'); } if (!$path) {
Viewing 15 lines of 25 lines. View entire code block.
Hope this might help some other poor unfortunate soul who has a client who insists on GoDaddy hosting...
Thanks for this -- I'm having a similar problem so will try this. Where should the code you provide be added? Into .htaccess?
Had the same problem with kreativmedia.ch. After switching php to fast-cgi pretty-URLs didn't work any more.
For me Oley's solution worked perfectly fine (as far as I can see at the moment) but using Concrete5 5.4.1.1 modifying request.php isn't necessary any more.
Just added this code to config/site.php
and used this code in .htaccess
Thanks a lot to everybody for your good ideas to solve this problem.
For me Oley's solution worked perfectly fine (as far as I can see at the moment) but using Concrete5 5.4.1.1 modifying request.php isn't necessary any more.
Just added this code to config/site.php
define('SERVER_PATH_VARIABLE', 'REDIRECT_URL');
and used this code in .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L] </IfModule>
Thanks a lot to everybody for your good ideas to solve this problem.
Adding Config/site.php
the following worked for me!
define('SERVER_PATH_VARIABLE', 'REDIRECT_URL');
the following worked for me!
define('SERVER_PATH_VARIABLE', 'REDIRECT_URL');
Had the same problem with kreativmedia.ch. After switching php to fast-cgi pretty-URLs didn't work any more.
For me Oley's solution worked perfectly fine (as far as I can see at the moment) but using Concrete5 5.4.1.1 modifying request.php isn't necessary any more.
Just added this code to config/site.php
and used this code in .htaccess
Thanks a lot to everybody for your good ideas to solve this problem.
For me Oley's solution worked perfectly fine (as far as I can see at the moment) but using Concrete5 5.4.1.1 modifying request.php isn't necessary any more.
Just added this code to config/site.php
define('SERVER_PATH_VARIABLE', 'REDIRECT_URL');
and used this code in .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L] </IfModule>
Thanks a lot to everybody for your good ideas to solve this problem.
Thanks Ngiyabonga! Your summary worked for me.
Thanks, this worked for me on Godaddy... Yes, I have to use Godaddy.
Please check the bug-tracker with bugfix:
http://www.concrete5.org/developers/bugs/5-4-1-1/path_info-problem/...
you can also confirm the bug / bugfix there, so that it get added soon to concrete5 core! ;-)
http://www.concrete5.org/developers/bugs/5-4-1-1/path_info-problem/...
you can also confirm the bug / bugfix there, so that it get added soon to concrete5 core! ;-)
Right just to chip in - I am hosted on Kualo and Mech 7 's fix helped me. Its spread across a few posts though so to summarise
1, Edit your site.php file adding:
2, Edit at line 67 of your request.php file (concrete/libraries/request.php)
replacing the below:
with......
Then put this in your .htaccess file
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule .* index.php [PT,QSA,L]
</IfModule>
1, Edit your site.php file adding:
2, Edit at line 67 of your request.php file (concrete/libraries/request.php)
replacing the below:
if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); }
with......
if (defined('SERVER_PATH_VARIABLE')) { $path = Request::parsePathFromRequest(SERVER_PATH_VARIABLE); } if (!$path) { $path = $_SERVER['REQUEST_URI']; }
Then put this in your .htaccess file
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule .* index.php [PT,QSA,L]
</IfModule>
Damn - i spoke too soon.
It seems the URLS arent actually rewriting properly so that
1, No pages linked out of the sitemap with an link like
2, If you navigate to the pages using the menu system and then edit them you now get redirected to the page_not_found page and so I cant actually edit the site now.
I have followed the advice above and read about every post I can find on the rewrite issue - anyone have any ideas or suggestions?
Hope so!!
Thanks
Toby
It seems the URLS arent actually rewriting properly so that
1, No pages linked out of the sitemap with an link like
www.mysite.com/index.php?cID=65
2, If you navigate to the pages using the menu system and then edit them you now get redirected to the page_not_found page and so I cant actually edit the site now.
I have followed the advice above and read about every post I can find on the rewrite issue - anyone have any ideas or suggestions?
Hope so!!
Thanks
Toby
After all this time this core error is not fixed (Last Release 5.4.1.1 November 19, 2010).
At first glance Conrete5 looks like a great Project.
I better stay at Joomla! :-( Too bad.
At first glance Conrete5 looks like a great Project.
I better stay at Joomla! :-( Too bad.
FIXED!
mischa - bad luck if you still want to work in joomla. Sorry but C5 is just so much better. If you are looking for crippling errors and bad plugins then joomla surpasses C5 by miles.
Anyway I forgot to post this up - I fixed my error. This is for a UK firm called Kualo:
1, Check the Pretty URLS box in the backend and save, ensuring your htaccess has the standard code:
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --
2, Enter this into your config/site.php file before the ?>
3, Create (or use your cpanel to create a rule to make this) a php.ini file at root level that says:
cgi.fix_pathinfo = 0
save.
This is my standard fix for all my sites and it works a gem.
Thanks for all those who posted before.
Toby
mischa - bad luck if you still want to work in joomla. Sorry but C5 is just so much better. If you are looking for crippling errors and bad plugins then joomla surpasses C5 by miles.
Anyway I forgot to post this up - I fixed my error. This is for a UK firm called Kualo:
1, Check the Pretty URLS box in the backend and save, ensuring your htaccess has the standard code:
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --
2, Enter this into your config/site.php file before the ?>
3, Create (or use your cpanel to create a rule to make this) a php.ini file at root level that says:
cgi.fix_pathinfo = 0
save.
This is my standard fix for all my sites and it works a gem.
Thanks for all those who posted before.
Toby
Hello Toby. Thank you for your quick response and help.
Looking for alternatives to joomla.
Meanwhile i downloaded the actual source from git.
Now the pretty urls working all fine - the sitmap links too.
Mischa
Looking for alternatives to joomla.
Meanwhile i downloaded the actual source from git.
Now the pretty urls working all fine - the sitmap links too.
Mischa
: tobyleeming
I can't edit my website after doing as you described... The redirect works though.. Any suggestions?
Thank you :)
René
I can't edit my website after doing as you described... The redirect works though.. Any suggestions?
Thank you :)
René
Tried the steps suggested by tobyleeming but no joy, sadly.
Works fine on my dev Windows server in the office but when I try it with my IIS-based Windows web host (Blue Thunder) using ISAPI_Rewrite for the URL re-writing, it's not working.
Not the end of the world but I hope someone will find an easy solution to this problem - it's obviously causing problems for lots of people.
Works fine on my dev Windows server in the office but when I try it with my IIS-based Windows web host (Blue Thunder) using ISAPI_Rewrite for the URL re-writing, it's not working.
Not the end of the world but I hope someone will find an easy solution to this problem - it's obviously causing problems for lots of people.
*Solution for Strato Webhosting:*
The last line must have some additional \ and / then it works fine (if mod_rewrite is enabled in your webhosting package.
This .htaccess works for me (without any other changes in other files):
The last line must have some additional \ and / then it works fine (if mod_rewrite is enabled in your webhosting package.
This .htaccess works for me (without any other changes in other files):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index\.php?/$1 [L] </IfModule>
I am also suffering with "no input file specified".
As I'm a complete newbie, I cannot even contemplate altering code.
I want the pretty url's to work but they will not on my current host (cloudnext) can anyone suggest a UK hosting company that has concrete5 as a 1 click install that actually works without altering code?
Thanks.
As I'm a complete newbie, I cannot even contemplate altering code.
I want the pretty url's to work but they will not on my current host (cloudnext) can anyone suggest a UK hosting company that has concrete5 as a 1 click install that actually works without altering code?
Thanks.
Hi guys,
I used the minimalistic theme for my new page. My coder is on vacation so I thought i could enable pretty urls myself. I couldn't find the file in the root, so just made a new one and put this in it;
When i uploaded with ftp it said there was already a file called .htaccess there, but before i knew it i gave permission to overwrite!
What now?
I used the minimalistic theme for my new page. My coder is on vacation so I thought i could enable pretty urls myself. I couldn't find the file in the root, so just made a new one and put this in it;
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
When i uploaded with ftp it said there was already a file called .htaccess there, but before i knew it i gave permission to overwrite!
What now?
Oh the site is kwalisite.nl
Hi All - Good thread - Im nearly there... Got a problem with my godaddy hosting... very similar to everyone elses issues - although...
I tried all the fixes above and the simplest seems to be the amendment to my .htaccess
This works fine, until I try to login /login - the admin page appears, but when I actually login it dies....
goes to /index.php/login/do_login/ and has the dreaded "No input file specified."
Any ideas would be great!
I tried all the fixes above and the simplest seems to be the amendment to my .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index\.php?/$1 [L] </IfModule>
This works fine, until I try to login /login - the admin page appears, but when I actually login it dies....
goes to /index.php/login/do_login/ and has the dreaded "No input file specified."
Any ideas would be great!
Just in case anyone is interested...
The simplest fix for this on godaddy hosting anyway.. is to create a new php5.ini in your hosting root and add the cgi.fix_pathinfo = 1
Works a treat!
The simplest fix for this on godaddy hosting anyway.. is to create a new php5.ini in your hosting root and add the cgi.fix_pathinfo = 1
Works a treat!
Hi,
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my .htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my .htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris
Hi,
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my -htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my -htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris
Hi,
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my .htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris
i'm a concrete5 newbie, but for the poeple with an pretty url problem, i've found this solution (on my local sever with PHP5.3.9):
my .htacces looks like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-concrete5/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
</IfModule>
All page work with urls likehttp://localhost/test-concrete5/about... AND all pages and functions in the dashborad works too ;-)
Hope thats help.
Greets Chris