.htaccess не перенаправляет со старого URL на новый URL 3

0

Я новичок в .htaccess. Я прочитал документацию, но не смог заставить правило перенаправления работать.

Я хочу RewriteRule для следующих

http://mywebsite.com/restaurants/59393/the-grounds-of-alexandria.htm

в

http://mywebsite.com/restaurants/the-grounds-of-alexandria

Я пробовал это

RewriteRule ^(.*)/[0-9]/(.*)$ ^(.*)/(.*)/$ [R=301,L]

Также как можно получить субдомен и поместить его в начало всех ссылок, например

http://sydney.mywebsite.com/restaurants/59393/the-grounds-of-alexandria.htm

в

http://mywebsite.com/sydney/restaurants/the-grounds-of-alexandria

но результата нет.

Теги:
.htaccess
redirect
mod-rewrite

1 ответ

3
Лучший ответ

Перепишите это просто:

http://mywebsite.com/restaurants/59393/the-grounds-of-alexandria.htm
to
http://mywebsite.com/restaurants/the-grounds-of-alexandria

Правило rewrite RewriteRule ^(.*)/[0-9]/(.*)$ ^(.*)/(.*)/$ [R=301,L] слишком глобально для URL-адресов. Во-вторых, вы просто говорите [0-9] со средствами только одной цифры.

RewriteRule ^([^/]+)/[0-9]+/([^.]+)\.htm$ /$1/$2 [R=301,L]

Попробуй это ;)


Изменить (для второго вопроса):

http://sydney.mywebsite.com/restaurants/59393/the-grounds-of-alexandria.htm
to 
http://mywebsite.com/sydney/restaurants/the-grounds-of-alexandria

Конечно;) Там вам нужно работать с RewriteCond.

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([^\.]+)\.mywebsite\.com/([^/]+)/[0-9]+/([^.]+)\.htm
RewriteRule ^.*$ http://mywebsite.com/%1/%2/%3 [R=301,L]

Для пояснения,% 1-3 можно использовать из предыдущего совпадения, которое будет использоваться в Заключении RewriteRule. Это должно работать для каждого поддомена и только для поддоменов. Если вы хотите ^(sidney|othersubdomain|anothersubdomain)\.mywebsite\.com... конкретный субдомен, вы можете настроить первую строку на ^(sidney|othersubdomain|anothersubdomain)\.mywebsite\.com...

  • 0
    это нормально, tnx, можете ли вы также сказать мне, как получить поддомен и поставить его после имени домена, как я показываю вверху?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню