从Web根目录移动到文件夹时,Htaccess文件不再有效

时间:2013-12-04 12:39:41

标签: .htaccess

我的htacess文件中的以下内容适用于删除在网址中添加#字符。所以mysite.com/page2变成了mysite.com/#page2

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /#$1 [L,NE,R]

这很好但是我的网站实际上将位于Web根目录中的文件夹中,而不是根本身。所以我需要像existingsite.com/mysite/page2这样的东西重定向到existingsite.com/mysite/#page2

理想情况下,我想让我的网站文件夹中的htaccess控制这一点,这样我就不需要更改主站点的htaccess文件了。我已将网站(包括htaccess文件)移动到Web根目录中的一个文件夹中,但现在它不像之前那样工作(当它在Web根目录中时)。

2 个答案:

答案 0 :(得分:1)

使用rewritebase:

RewriteBase /mysite/

你现有的重写:

RewriteEngine On
RewriteBase /mysite/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /#$1 [L,NE,R]

另见:How does RewriteBase work in .htaccess

答案 1 :(得分:0)

当放置在新站点(不是Web根目录)的文件夹中的htaccess文件中时,此方法有效。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /santa7/#$1 [L,NE,R]