将非索引页面请求重定向到带有.htaccess的哈希链接

时间:2010-01-04 14:47:44

标签: ajax regex .htaccess redirect hash

我在正则表达式方面很弱,我需要将任何 FileName.htm FileName.html 页面请求重定向到 ./#FileName ,仅当请求来自外部链接时。这些文件都将驻留在根目录中。

这是我到目前为止所拥有的。它给了我错误:(

RewriteCond %{REQUEST_FILENAME} !index.html$|!index.htm$ [NC]
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !example\.com [NC]  
RewriteRule ^([a-zA-Z0-9\-_]+)\.html$ /#$1 [NE, R]

第一行确保只重定向索引文件。 如果请求来自未知的引荐来源,第二行不会重定向 第三行从重定向规则中排除了我的域名 第四行将其重定向到哈希链接。

似乎不起作用。
并且如果有更有效的方式来写这个,我将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteCond $1 !=index [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/ [NC]
RewriteRule ^([a-zA-Z0-9\-_]+)\.html?$ /#$1 [NE,R]