2013-10-12 3 views
0

Я бы хотел написать простые перезаписи на моем сайте, используя файл htaccess.Insane Mod_Rewrite - код .htaccess

С ---> Http: // www.mydomain.com/404.html
в           --->   HTTP: // www.mydomain.com

С - -> Http: // www.mydomain.com/505.html
в           --->   HTTP: // www.mydomain.com

то же самое для страницы 403. HTML/500.htm l и некоторые подобные этим страницам (я думал, что могу использовать RegExp (ы), но я пытался сделать это без успеха).

Другое дело, что я не могу сделать это:

От ---> Http: // www.mydomain.com/done/everything_that_is_writes_after_this_slash
в           --->   HTTP : // www.mydomain.com/done

Может кто-нибудь мне помочь, пожалуйста? Я сойду с ума от этого mod_rewrite!

Ps Если у меня есть ассоциированный домен, например http: // www.mydomainassociate.com, то через i я просто покупаю услугу перенаправления (без возможности настройки файла htaccess).
Если кто-то написать в браузере "HTTP: // www.mydomainassociate.com/ о/", возможно редирект этот URL, чтобы "HTTP: // www.mydomain.com/ о/ ", пожалуйста? Возможно ли это сделать с помощью файла htaccess от http: // www.mydomain.com/, пожалуйста?

Благодарим за терпение!
Спасибо за внимание!
Спасибо всем!

ответ

0

Не является ли страница перенаправлением ошибка так просто, как

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^/[0-9]{3}.html$/[NC,L] 

[0-9] означает "любую цифру" и {3} означает "ровно в три раза". NC означает случайный ввод, поэтому он будет соответствовать .HTML, а также .html. L означает, что это последнее правило, которое необходимо обработать, нет никаких точек проверки для любых других перенаправлений. Знаки^и $ отмечают начало и конец страницы, поэтому она будет ТОЛЬКО соответствовать /123.html, а не /bob/123.html.

И второй один

RewriteRule ^/done/ /done [NC,L] 

(хотя, если вы на самом деле хотел, чтобы перейти к «/ сделать /» (с слэш) изменить его

RewriteRule ^/done/.+ /done/ [NC,L] 

, чтобы избежать перенаправления «.» означает «любой символ», а «+» означает «один или несколько раз».

За последний бит вашего вопроса вы не можете перенаправлять страницы с mydomainassociate.com через файл .htaccess на mydomai n.com.Если два домена не находятся на одном хосте/root, в этом случае вопрос не имеет смысла?

+0

О, и если вы хотите, чтобы эти страницы были перенаправлены (поэтому URL-адрес изменяется в браузере пользователя), добавьте R = 301 в квадратные скобки в конце правила. – Codemonkey

+0

Благодарим за помощь ... Но если веб-хостинг-провайдер не поддерживает эту строку «Опции + FollowSymlinks», как я могу это сделать? Этот веб-хостинг-провайдер - это Аруба, ведь на всех форумах говорилось, что «вы должны прокомментировать эту строку (# Options + FollowSymlinks)» ... Я думаю, что я иду на имя.com или godaddy.com -.- '' – FabioSorre

+0

You может показаться, что он работает без этой линии. Попробуйте, если вы еще этого не сделали. – Codemonkey