我很难从WordPress网站的URL中删除子文件夹。
当前,URL格式为:www.mysite.com/subfolder/index.php/category/postname
我想同时删除子文件夹和索引。URL中的php。
网站必须位于我的服务器上的root子文件夹中。
我的当前htaccess
文件为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subfolder/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subfolder/index.php [L]
</IfModule>
我尝试添加以下内容,尽管它不起作用。
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^subfolder/(.*)$ http://www.mysite.com/$1 [R=301,L]
RewriteRule .* index.php/$0 [PT,L]
SO网友:Denis de Bernardy
您需要使WP站点url和主页url在设置/常规方面有所不同。主页url应为example.com
, 而站点url(WP所在的位置)应为example.com/wp
(或放在任何地方)。
您可以在配置文件中硬编码这些内容:
define(\'WP_HOME\', \'http://example.com\');
define(\'WP_SITEURL\', \'http://example.com/wp\');
WP应该知道如何从那里获取东西,并放置。htaccess应该在哪里。
如果没有,我自己网站的文件夹如下所示:
- 。htaccess索引。php索引。php文件包含:
<?php
// WordPress view bootstrapper
define( \'WP_USE_THEMES\', true );
require( \'./wp/wp-blog-header.php\' );
以及。htaccess包含:# 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
关于/index.php
WP生成的URL中的位,这意味着WP是(错误的?)发现您的站点无法管理永久链接。(我敢打赌这是因为你在使用Nginx?)假设您比WP更了解,请在您的WP content/mu plugins文件夹中添加一个必须使用的插件,例如force permalinks。php文件:
<?php
add_filter( \'got_rewrite\', \'__return_true\' );
SO网友:Abhik
不知道你到底想要什么。你能再详细说明一下你的问题吗?
如果你想要像这样的URLwww.mysite.com/subfolder/postname
(如果subfolder
是WordPress安装的位置),然后转到Settings > Permalinks 并将其更改为Post Name.
EDIT
如果您的WordPress安装在subfolder
您需要的URL如下www.mysite.com/category/postname
, 然后将WordPress Address 和Site Address 到www.mysite.com
并且在Permalinks, 选择自定义结构并使用此标记/%category%/%postname%
.