.htaccess & 301: Перенаправить URL с заглавными буквами на тот же URL, но в нижнем регистре - PullRequest
0 голосов
/ 29 июня 2011

1) Я получил mysite.com/about-me.php.

Когда я набираю 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 Ответ

1 голос
/ 29 июня 2011

При этом происходит переадресация 301, все URL с заглавной буквой переписываются в строчную версию:

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, а RewriteCond / RewriteRule в .htaccess

RewriteMap lc int:tolower
...