.htaccess最后重写不工作没有斜线

时间:2012-11-21 05:00:51

标签: .htaccess

我遇到.htaccess的问题,我希望你能帮助我。

基本上我有以下结构:

  

根/
      + _archive
      + index.html
      + folder1
      + folder2
      + css
      + ...

在存档上我有几个文件夹,我希望它可以通过我的网站的根目录访问。

因此,假设我的网站称为rafael.com,因此我将拥有以下存档:

  

http://www.rafael.com/_archive/folder10
  http://www.rafael.com/_archive/folder20
  http://www.rafael.com/_archive/folder30

我希望可以从(没有_archive)访问它们:

  

http://www.rafael.com/folder10
  http://www.rafael.com/folder20
  http://www.rafael.com/folder30

但是我的root上还有文件夹和css以及图像等以继续工作。请记住,在folder10,folder20,folder30下我也可以拥有自己的图片和css,以及javascript。

好吧,我正在尝试以下.htaccess

RewriteEngine On
RewriteCond $1 ^(folder10|folder20|folder30)
RewriteRule ^(.*)$ _archive/$1 [L]

如果我使用http://www.rafael.com/folder30/进行调用(在最后使用SLASH),这样可以正常工作我的问题是当我尝试在没有斜线的情况下调用http://www.rafael.com/folder30时它会变为RED http://www.rafael.com/_archive/folder30/。< / p>

所以任何人都可以向我解释为什么要重定向它以及如何修复它以使http://www.rafael.com/folder30http://www.rafael.com/folder30/无需重定向就能正常工作? :)

先谢谢你。

1 个答案:

答案 0 :(得分:0)

你有其他规则吗?没有[R=30x]标志,它不应该明显重定向网址。您还需要将RewriteCond $1修复为以下内容:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^folder(10|20|30)
RewriteRule ^(.*)$ /_archive/$1 [NC,L]