curl problem or permalinks

I just configured my VPS, I am using Centos, everything works fine, but if I am setting my permalinks to Custom Structure, then accept the homepage none of the posts come, it shows me 404 page, I think this is because I haven’t enabled curl, but I don’t know where is my php.ini file in my centos?

OK my curl is enabled, I checked it through phpinfo(); Here is the URL http://74.117.158.182/info.php

But if I am setting any permalinks in my wordpress then accept home page, all are giving me 404 pages You can check it on this URL http://mbas.co.in

If I am keeping the permalink as default then pages are loaded without any 404

I don’t know what is the problem, more-over my post-content is not getting loaded, Only the posts title comes, but the content part is missing,

MY APACHE ERROR LOG

[Tue Feb 01 15:22:47 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 01 15:22:47 2011] [notice] Digest: generating secret for digest authentication …
[Tue Feb 01 15:22:47 2011] [notice] Digest: done
[Tue Feb 01 15:22:47 2011] [notice] Apache/2.2.3 (CentOS) configured — resuming normal operations
[Tue Feb 01 15:22:51 2011] [error] [client 95.168.183.226] File does not exist: /var/www/html/web-hosting-concerns-for-ecommerce-businesses, referer: mysite.com
[Tue Feb 01 15:23:30 2011] [error] [client 38.101.148.126] File does not exist: /var/www/html/cpcu-vs-mba
[Tue Feb 01 15:23:35 2011] [error] [client 66.77.240.125] File does not exist: /var/www/html/can-u-see-below-for-growing-opinions-on-write-in-vote-process-in-sa

[Tue Feb 01 15:23:43 2011] [error] [client 38.101.148.126] File does not exist: /var/www/html/dc-area-financial-strategist-questions-lack-of-regulation-for-tv-financial-gurus

[Tue Feb 01 15:24:15 2011] [error] [client 38.101.148.126] File does not exist: /var/www/html/is-a-political-science-degree-with-a-business-admin-minor-a-good-idea-feature-jobs-with-that-combo

[Tue Feb 01 15:26:01 2011] [error] [client 66.249.71.225] File does not exist: /var/www/html/emba-ralph-irizarry-timbalista-de-ruben-blades

My htaccess file

# BEGIN W3TC Page Cache
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_USER_AGENT} (2\.0\ mmp|240x320|alcatel|amoi|asus|au\-mic|audiovox|avantgo|benq|bird|blackberry|blazer|cdm|cellphone|danger|ddipocket|docomo|dopod|elaine/3\.0|ericsson|eudoraweb|fly|haier|hiptop|hp\.ipaq|htc|huawei|i\-mobile|iemobile|j\-phone|kddi|konka|kwc|kyocera/wx310k|lenovo|lg|lg/u990|lge\ vx|midp|midp\-2\.0|mmef20|mmp|mobilephone|mot\-v|motorola|netfront|newgen|newt|nintendo\ ds|nintendo\ wii|nitro|nokia|novarra|o2|openweb|opera\ mobi|opera\.mobi|palm|panasonic|pantech|pdxgw|pg|philips|phone|playstation\ portable|portalmmm|ppc|proxinet|psp|pt|qtek|sagem|samsung|sanyo|sch|sec|sendo|sgh|sharp|sharp\-tq\-gx10|small|smartphone|softbank|sonyericsson|sph|symbian|symbian\ os|symbianos|toshiba|treo|ts21i\-10|up\.browser|up\.link|uts|vertu|vodafone|wap|willcome|windows\ ce|windows\.ce|winwap|xda|zte) [NC]
    RewriteRule .* - [E=W3TC_UA:_low]
    RewriteCond %{HTTP_USER_AGENT} (acer\ s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|cupcake|docomo\ ht\-03a|dream|htc\ hero|htc\ magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|lg\-gw620|liquid\ build|maemo|mot\-mb200|mot\-mb300|nexus\ one|opera\ mini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\ mytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos) [NC]
    RewriteRule .* - [E=W3TC_UA:_high]
    RewriteCond %{HTTPS} =on
    RewriteRule .* - [E=W3TC_SSL:_ssl]
    RewriteCond %{SERVER_PORT} =443
    RewriteRule .* - [E=W3TC_SSL:_ssl]
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=W3TC_ENC:.gzip]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{REQUEST_URI} \/$
    RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|wp-.*\.php|index\.php) [NC,OR]
    RewriteCond %{REQUEST_URI} (wp\-comments\-popup\.php|wp\-links\-opml\.php|wp\-locations\.php) [NC]
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|wordpress_\[a\-f0\-9\]\+|wordpress_logged_in) [NC]
    RewriteCond "/var/www/html/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f
    RewriteRule (.*) "/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" [L]
</IfModule>
# END W3TC Page Cache

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^index\.php/?(.*)$ $1 [R] 
</IfModule>

# END WordPress

The only solution I found was reinstalling the entire Centos, starting all from scratch, and enabling each thing respectively as per the answers, and finally it worked, my Linux was having some problems, thats why it was not working.

Solutions Collecting From Web of "curl problem or permalinks"

You need to add: Options +FollowSymLinks

It’s often but not always enabled in most hosting environments. We have a server that has it off by default for PCI compliance.

If you enable custom permalinks, wordpress is modifying your .htaccess file, to enable the rewrite of your urls.

As from the from the Codex section Using Permalinks, in your server must be enabled the module “mod_rewrite” (if you are using apache) and the use of .htaccess by the domain in which your blog is installed. Both can be disabled by the administrator, so first check with him.

To enable mod_rewrite for apache, the better way is to enable it via the a2enmod command that come bundled with the majority of linux distribuition.

a2enmod rewrite

and then, reload your apache server, to enable the modification.

Note:
If you can’t enable mod_rewrite or .htaccess, the best solution for your permalinks, is to enable the “Almost Pretty” version, i.e, prepend index.php/ to you permalink structure in the custom field.

It could be that APACHE AllowOveride is not correctly set.

Does your .htaccess look anything like this?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

This is almost certainly a rewriting issue – either mod_rewrite isn’t being loaded, or your .htaccess file isn’t allowed to override your httpd.conf

  1. Make sure mod_rewrite is being loaded – you’ll need to check /etc/httpd/conf/httpd.conf and look for a line like: LoadModule rewrite_module modules/mod_rewrite.so. Make sure this line isn’t being commented out.

  2. If you’ve create a virtual host, then make sure you’re allowing .htaccess overrides within the section – something like ` AllowOverride All . If you’re not using a virtual host, then follow the Override chain in your httpd.conf to make sure that the directory WP is located in can be overridden

  3. Disable w3 total cache (and delete the lines it adds to .htaccess) until you’ve sorted out your rewriting issue. It just confuses things, and given your site isn’t working, caching is the least of your worries.

  4. Check your apache error logs /var/log/httpd and see what they say.