Помогите с .htaccess

DeL Esprit
На сайте с 27.01.2010
Offline
223
852

Нужно сделать что бы по любому адресу кроме одного, показывало содержимое некой страницы.

например надо что бы показывало test.html настоящий, а остальные страницы, как i1.php

прописал

Options none

RedirectMatch ^/(?!i1.php) http://site.com/i1.php

а как сделать исключение для страницы test.html ?

Тестирую облачный майнинг - узнаем развод или нет. - окупаемость 3 месяца? мелкие суммы (https://goo.gl/aPWmoj) | майнинг Monero, минимум $830 (https://goo.gl/3XivbP) Биржи (ввод/вывод) - на Приват (https://goo.gl/CGZTnD), на Payeer, Capitalist, Advcash, Qiwi... (https://goo.gl/eejAgs)
alaev
На сайте с 18.11.2010
Offline
861
#1
DeL Esprit:
Нужно сделать что бы по любому адресу кроме одного, показывало содержимое некой страницы.

например надо что бы показывало test.html настоящий, а остальные страницы, как i1.php

test.html переименовать в index.html


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /i1\.php\ HTTP/
RewriteRule ^i1\.php$ http://site.com/i2.html [R=301,L]

Создание и продвижение сайтов - https://alaev.net , аудиты сайтов, контекстная реклама
A
На сайте с 24.12.2009
Offline
111
#2

Уважаемый DeL Esprit, позвольте в Вашей теме занять за Вами место в очереди, чтобы получить помощь :)

Уважаемые знатоки, буду премного вам благодарен за совет, как при помощи .htaccess во все url статического сайта вставить знак вопроса:

Есть:

http://site.com/page=(тут идут разные символы)

Нужно:

http://site.com/?page=(тут идут разные символы)

A
На сайте с 24.12.2009
Offline
111
#3

Возможно, я не чётко или даже не правильно задал свой вопрос.

У меня на хостинге есть статические страницы без знака вопроса в названии вот такого вида: page=(тут идут разные символы)

Мне нужно, чтобы при вводе в браузере адреса со знаком вопроса, например: http://site.com/?page=6 в адресной строке продолжал отображаться линк http://site.com/?page=6, но в окне браузера показывалось содержимое страницы, в названии которой нет знака вопроса: http://site.com/page=6

siv1987
На сайте с 02.04.2009
Offline
427
#4
DeL Esprit:
Нужно сделать что бы по любому адресу кроме одного, показывало содержимое некой страницы.

RewriteEngine On

RewriteRule ^(?!test\.html).? i1.php [L]

angelmarket:
Мне нужно, чтобы при вводе в браузере адреса со знаком вопроса, например:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(page=\d+)

RewriteRule ^$ %1 [L]

A
На сайте с 24.12.2009
Offline
111
#5
siv1987:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(page=\d+)
RewriteRule ^$ %1 [L]

Уважаемый siv1987, предложенный Вами вариант корректно срабатывает, если после page= идут только цифры, например, набираю в браузере адрес: http://site.com/?page=6 и открывается, как и нужно, содержимое страницы, в названии которой нет знака вопроса: http://site.com/page=6

Но если после page= идут не только цифры, но и другие символы, то появляется сообщение, что такой страницы не найдено. Вот пример страниц, которые не реагируют на предложенный Вами вариант .htaccess:

http://site.com/?page=7&viewDetail=35723

http://site.com/?page=37&advType=selling&objType=Flat&pack=36

siv1987
На сайте с 02.04.2009
Offline
427
#6

RewriteCond %{QUERY_STRING} ^(.+)

RewriteRule ^$ %1 [L]

A
На сайте с 24.12.2009
Offline
111
#7
siv1987:
RewriteCond %{QUERY_STRING} ^(.+)
RewriteRule ^$ %1 [L]

Уважаемый siv1987, премного благодарю Вас за совершённое чудо - всё заработало, как надо!

DeL Esprit
На сайте с 27.01.2010
Offline
223
#8
alaev:
test.html переименовать в index.html


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /i1\.php\ HTTP/
RewriteRule ^i1\.php$ http://site.com/i2.html [R=301,L]

блин что-то не выходит.

немножко правки в условии: нужно все страницы что бы были как индексовая, в том числе и ссылки вида site.com/url/urlqqq/ но одна страница должна быть все же отличная от индекса.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий