2014-04-25 81 views
0

我創建了一個單頁網站(www.lelaboratoiredeco.fr),我試圖在.htaccess中做一些奇特的URL重寫。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>域.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] 
+0

你的最後一個規則,實際上改變非www到www所以'domain.com'>'www.domain.com' – Howli

+0

正確的,就是我的意思,對不起,我寫它周圍的其他方法。 – Romain

+0

你上面的規則似乎沒什麼問題,當你嘗試去'www.lelaboratoiredeco.fr/index.php#proxy'它會帶你進入錯誤頁面嗎? – Howli

回答

0

爲了保持/contact/portfiolio等在url從規則中刪除R=301

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

將成爲:

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

它應該工作

+0

如果我刪除R = 301,它不再有效。它工作,如果我只離開R沒有301,但我原來把301的搜索引擎,因爲我想他們索引xx.fr/contact而不是xx.fr/#contact – Romain