2

我有一个 wordpress 托管网站 www.mysite.com/myBlog 。wordpress 安装在我的主机文件夹内的 public_html/www/myBlog 文件夹内完成。

我还有一个文件夹 public_html/www/myName 将我重定向到域 myName.com

虽然这工作正常,但在 myName 文件夹中我有 index.html 之类的文件。acad.html,穿xp.html

点击它们我希望有这样的行为

myName.com/index.html myName.com/acad.html myName.com/workex.html

虽然我只把它当作 myname.com。

我在 myName 文件夹中找到了 htaccess 规则:

Redirect http://mydomainName.com/myName/+ 

# 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

RewriteCond %{HTTP_HOST} ^mydomainName.com$
RewriteRule ^/?$ "http\:\/\/www\.mydomainName\.com\/myBlog" [R=301,L]

任何人都可以帮助我解决 htaccess 文件的问题吗?

更多细节:

我的 WordPress 博客出了点问题。我可以去我的博客和主页工作正常,但是当我尝试去任何帖子时,它会引发 403 错误。阿帕奇禁止。

  1. 尝试与网络主机交谈以获得权限。
  2. 检查htaccess。默认情况下替换代码代码仍然无法正常工作。
  3. 删除了默认删除的 htaccess 的永久链接创建了新的永久链接。
  4. 授予博客目录中所有文件的权限
  5. 重写 robots.txt 博客网址是:www.windowsvj.com
  6. Wordpress 社区也无法提出非常有用的建议。

.htaccess 中的当前重定向规则代码是:

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

2 回答 2

0

这可能是服务器配置中禁用FollowSymLinks的结果。只需添加Options +FollowSymlinks.htaccess文件就可以了。

于 2013-03-19T20:02:50.613 回答
0

而不是使用标志 [L]

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

尝试使用 [QSA]

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

[L] 的工作原理是 RewriteRule 是否匹配

RewriteRule . /wpblog/index.php [L]

然后按照 Apache 网站上的说明,忽略此 RewriteRule 之后的所有其他重写

“在大多数情况下,这意味着如果规则匹配,则不会处理进一步的规则。” http://httpd.apache.org/docs/current/rewrite/flags.html

这是一个链接,其中包含有关 .htaccess 标志的更多信息

http://httpd.apache.org/docs/current/rewrite/flags.html

希望这对你有用:P

于 2013-03-20T01:42:05.807 回答