首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress网络.htaccess问题

Wordpress网络.htaccess问题
EN

Stack Overflow用户
提问于 2011-11-11 07:04:16
回答 2查看 327关注 0票数 0

我有一个Wordpress网络设置,但目前只有一个带有url的子站点。

/psychology

将来还会增加一些网站,其中包括

/md /vet

但目前只会有/psychology

我想做的是在我的htaccess中有一个重写规则,当用户访问站点的根目录(/)时,它实际上加载了/psychology站点。

我试着在我的htaccess中添加如下一行

RewriteRule (.*)心理学/$1 R,L

但它破坏了网站。这是我当前的htaccess (基本上是网络安装的wordpress默认设置)

代码语言:javascript
复制
 # BEGIN WordPress
 <IfModule mod_rewrite.c>
 Options +FollowSymlinks
 RewriteEngine On
 RewriteBase /ASKanALLY/
 RewriteRule ^index\.php$ - [L]

 # uploaded files
 RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

 # add a trailing slash to /wp-admin
 RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]


 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^ - [L]
 RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
 RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
 RewriteRule . index.php [L]
 </IfModule>

# END WordPress

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-11 07:53:18

您需要将基础添加到RewriteRule目标。并添加一个条件,这样就不会出现重定向循环。

RewriteRule ^ - [L]之后添加以下两行应该是有效的:

代码语言:javascript
复制
RewriteCond %{REQUEST_URI} !^/ASKanALLY/psychology  ## Not already viewing a psychology URL
RewriteRule ^(.*)$ /ASKanALLY/psychology/$1 [R,L]  ## Redirect to psychology

下面是完整的示例:

代码语言:javascript
复制
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /ASKanALLY/
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]


RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteCond %{REQUEST_URI} !^/ASKanALLY/psychology  ## Not already viewing a psychology URL
RewriteRule ^(.*)$ /ASKanALLY/psychology/$1 [R,L]  ## Redirect to psychology

RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
票数 0
EN

Stack Overflow用户

发布于 2011-11-11 07:13:06

您的RewriteRule不起作用,因为它匹配所有URL,包括指向/psychology/foo的URL。我猜你在/psychology下面没有.htaccess文件?

试试这个--它只会重写根目录。

RewriteRule ^/$ psychology/ [r=301,L]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8087640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档