admin管理员组

文章数量:1289869

I installed WP in subfolder /cms and it runs live without subfolder. When I use /%postname%/ as permalink I get 404 error on my site. My Server supported mod_rewrite.

My Code

wp-config.php

define('WP_SITEURL', '');
define('WP_HOME', '');

root

1) .htaccess

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

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./cms/wp-blog-header.php');
?>  

/cms

1) .htaccess

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

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./wp-blog-header.php');
?>  

Thanks for your help
Ogni

I installed WP in subfolder /cms and it runs live without subfolder. When I use /%postname%/ as permalink I get 404 error on my site. My Server supported mod_rewrite.

My Code

wp-config.php

define('WP_SITEURL', 'http://www.sitename.de/cms');
define('WP_HOME', 'http://www.sitename.de');

root

1) .htaccess

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

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./cms/wp-blog-header.php');
?>  

/cms

1) .htaccess

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

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./wp-blog-header.php');
?>  

Thanks for your help
Ogni

Share Improve this question asked Oct 6, 2012 at 8:03 ogniogni 5821 gold badge9 silver badges23 bronze badges
Add a comment  | 

4 Answers 4

Reset to default 3

What I generally do

  • Install WP in sub directory.
  • Open permalink set required permalink.
  • Open settings->general link
  • Remove the sub directory name from 'Site Address (URL)'
  • Cut the index.php and .htaccess files from sub directory and paste them to root
  • change code in index.php as you did.
  • Again access settings->permalink save the form

Done. You dont need index.php and .htaccess file in sub directory.

I had similar issue and issue was not in code but was in httpd file

  1. Open the Apache configuration file located at/etc/httpd/conf/httpd.conf (or apache.conf for ubuntu)
  2. Change AllowOverride None to AllowOverride All inside the DocumentRoot Directory Directive, normally

my solution to this problem, wich always works in my case;

create a .htaccess file in the subdirectory and add the code wich is generated when you change the permalinks on the bottom of the page.

example of the generated code;

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

Get rid of the .htaccess file under /cms and then visit Settings -> Permalinks to flush your rewrite rules. Also make sure the site URL and home URL are set up in the database correctly (like you have in the wp-config).

本文标签: htaccessPermalink Issues by Installing WordPress in SubdirectorySubfolder