2011-06-29 171 views
0

1)我得到了mysite.com/about-me.php。
.htaccess&301:將大寫字母重定向到相同的URL,但小寫

當我輸入mysite.com/About-me.php時,出現404錯誤。

我想爲我的.htaccess添加一些魔力,以便mysite.com/My-PaGe.php (etc) redirects the user by 301, OR rewrites the URL (whatever is the best?) to mysite.com/my-page.php.
- 是301還是重寫最好?

2)是否可能爲我添加一個適用於所有URL的規則,還是我必須手動指定所有不同的頁面?

獎金3)額外獎金星級,如果有人知道如何改寫mysite.com/mY-paGe.php到mysite.com/my-site

非常感謝

回答

1

這做了301重定向,所有有大寫字母的網址會被重寫爲小寫版本:

RewriteMap lc int:tolower  
RewriteCond %{REQUEST_URI} [A-Z] 
RewriteRule (.*) ${lc:$1} [R=301,L] 

請參閱這篇文章,特別是評論部分。 http://www.chrisabernethy.com/force-lower-case-urls-with-mod_rewrite/

可能需要註明此行在httpd.conf,並在.htaccess中的RewriteCond /重寫規則

RewriteMap lc int:tolower 
+0

@duncan ..和?如果你沒有RewriteMap聲明,它應該如何工作?這個規則本身沒有任何用處。 – LazyOne

+0

好點,我忘了地圖。更新我的答案以包含它。 – duncan

+0

@duncan那麼..問題仍然是「種」仍然 - RewriteMap **不能**在.htaccess中聲明。至少要記下這個不幸的時刻(如果能像那樣工作,那會更容易)。 – LazyOne

相關問題