Перенаправить URL-адреса без расширения и косая черта в конце - PullRequest
1 голос
/ 05 декабря 2011

Я бы хотел перенаправить все URL без расширения (www.mydomain.com/test) на мою домашнюю страницу, КРОМЕ тех, которые заканчиваются косой чертой (www.mydomain.com/test/).

код работает отлично ...

RewriteEngine on
RewriteBase /
RewriteRule ^([^.]+)$ http://www.mydomain.com [NC,R=301,L]

... но он также перенаправляет URL-адреса, заканчивающиеся косой чертой.

Как добиться, чтобы URL с косой чертой в конце не перенаправлялись?

Спасибо

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Я полагаю, что это будет делать то, что вы просите, вам просто нужно ограничить ваш матч страницами, которые не заканчиваются косой чертой:

RewriteRule    ^(.+[^/])$           http://www.mydomain.com  [R]

Однако это звучит как действительно плохая идеяс логистической точки зрения.Но я думаю, это не мое место, чтобы сказать вам это, поэтому я предполагаю, что у вас есть веская причина для этого.Удачи!

0 голосов
/ 06 декабря 2011

Попробуйте добавить следующее в ваш .htaccess

RewriteEngine On
RewriteBase /

#If it does not end in an extension (of 2 to 4 chars)
RewriteCond %{REQUEST_URI} !\.[a-z]{2,4}$ [NC]
#and it does not end in a slash
RewriteCond %{REQUEST_URI} ![^/]$
#redirect to home page
RewriteRule . http://www.mydomain.com  [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...