htaccess单页重写

时间:2014-04-25 08:49:59

标签: apache .htaccess mod-rewrite singlepage

我创建了一个单页网站(www.lelaboratoiredeco.fr),我试图在.htaccess中重写一些花哨的网址。

我的页面基本上有6个由div ID定义的部分。

我想写一个翻译规则:

www.lelaboratoiredeco.fr/portfolio

www.lelaboratoiredeco.fr/index.php#portfolio 

这也可以在没有www。

的情况下使用

我四处寻找可以使用的解决方案,但无法找到合适的解决方案。虽然我计划在某些时候正确地学习正则表达式,但我当时只对该主题有非常基本的了解。

我已经使用了一段时间但它停止了工作,现在将我带到我的错误页面:

RewriteRule ^([A-Za-z0-9-]+)/?$ /#$1 [NC,NE,R=301,L]

我应该提一下,我目前有这个规则发送www.domain.com> domain.com

# REDIRECTION (tout vers le www.)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

我很感激你对这个问题的想法。

提前致谢!!

罗曼

这是我的.htaccess文件的其余部分,如果它可以提供帮助

SetEnv REGISTER_GLOBALS 0

RewriteEngine on

AddDefaultCharset UTF-8

# Error pages
ErrorDocument 404 /erreur.php
ErrorDocument 403 /erreur.php
Options -Indexes

# REDIRECTION (tout vers www.)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# REDIRECTION de .xxx.fr/portfolio vers xxx.fr/index.php#portfolio
RewriteRule ^([A-Za-z0-9-]+)/?$ /#$1 [NC,NE,R=301,L] 

1 个答案:

答案 0 :(得分:0)

要保持网址中的/contact/portfiolio等,请从规则中移除R=301

RewriteRule ^([A-Za-z0-9-]+)/?$ /#$1 [NC,NE,R=301,L]

将成为:

RewriteRule ^([A-Za-z0-9-]+)/?$ /#$1 [NC,NE,L]

应该有效