重定向文件夹的htaccess中的规则



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

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

虽然这很好,但在myName文件夹中,我有一些文件,如index.html.acad.html,worexp.html

点击它们,我期待类似的行为

myName.com/index.htmlmyName.com/acad.htmlmyName.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. 尝试与web主机对话以获取权限,可以
  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

这可能是FollowSymLinks在服务器配置中被禁用的结果。只需将Options +FollowSymlinks添加到.htaccess文件中即可。

不使用标志[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 . /wpblog/index.php [L]

然后,根据Apache网站上的说明,此重写规则之后的所有其他重写都将被忽略

"在大多数情况下,这意味着如果规则匹配,则不会处理其他规则。"http://httpd.apache.org/docs/current/rewrite/flags.html

这里有一个链接,提供有关.htaccess标志的更多信息

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

希望这对你有用:p

最新更新