Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The requested URL /about was not found on this server

The home page of my wordpress website seems to be displaying correctly but if you click through to any of the other pages I get the following error message:

Not Found  The requested URL /about was not found on this server.  Apache/2 Server at www.wildlionmedia.co.uk Port 80 

I'm not sure whether it's a problem with the theme or the .htaccess file that is not being rewritten correctly.

http://www.wildlionmedia.co.uk/

Any ideas how I can resolve the issue?

# Switch rewrite engine off in case this was installed under HostPay. RewriteEngine On  SetEnv DEFAULT_PHP_VERSION 53  DirectoryIndex index.cgi index.php  # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine Off RewriteBase /wildlionmedia.co.uk/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wildlionmedia.co.uk/index.php [L] </IfModule>  # END WordPress 
like image 688
user1096057 Avatar asked Oct 31 '12 00:10

user1096057


People also ask

What is requested URL?

A request URL consists of an HTTP method, a base URL, and a resource URI. The request header also includes parameters such as the content type and authorization information.

Why am I getting a 404 error?

You'll get 404 errors if you've deleted or removed pages from your site recently without redirecting their URLs. 404 errors can also occur if you've relaunched or transferred your domain and failed to redirect all your old URLs to the new site. Sometimes 404 errors can be the result of changing a page's URL.


2 Answers

If all above point not work. Then try this one. I tried it. It's working for me.

  1. Go /etc/httpd/conf/httpd.conf.
  2. Change the AllowOverride None to AllowOverride All.
  3. Restart the apache server.

UPDATE 2017

For new versions of apache the file is called apache2.conf

So to access the file, type sudo nano /etc/apache2/apache2.conf and change the correspondent line inside block <Directory /var/www >

like image 153
Birendra Rawat Avatar answered Sep 20 '22 10:09

Birendra Rawat


That's not a typical Wordpress rewrite block. This is:

# 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 

See http://codex.wordpress.org/Using_Permalinks#Where.27s_my_.htaccess_file.3F

Where's my .htaccess file? WordPress's index.php and .htaccess files should be together in the directory indicated by the Site address (URL) setting on your General Options page. Since the name of the file begins with a dot, the file may not be visible through an FTP client unless you change the preferences of the FTP tool to show all files, including the hidden files. Some hosts (e.g. Godaddy) may not show or allow you to edit .htaccess if you install WordPress through the Godaddy Hosting Connection installation.

Creating and editing (.htaccess) If you do not already have a .htaccess file, create one. If you have shell or ssh access to the server, a simple touch .htaccess command will create the file. If you are using FTP to transfer files, create a file on your local computer, call it 1.htaccess, upload it to the root of your WordPress folder, and then rename it to .htaccess.

You can edit the .htaccess file by FTP, shell, or (possibly) your host's control panel.

The easiest and fastest thing to do it reset your permalinks in Dashboard>>Settings>>Permalinks and make sure .htaccess is writable so WordPress can write the rules itself.

And: are you aware you are calling index.cgi as your default document rather than index.php? That's wrong. Remove index.cgi. Or try removing the whole line, too, because defining a default doc on your server may not be needed.

like image 39
markratledge Avatar answered Sep 20 '22 10:09

markratledge