RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} ^page_\d+.php$
RewriteRule ^page_(\d+).php$ index.php?action=guest_book&gen_id=$1 [L]
Как сделать ссылку на несуществующую страницу и сгенерировать её?
mysite.ru/dir/page_2345.php, например, для регистрации пользователей или поместить там гостевую так, чтобы на неё нельзя было сделать ссылку.
page_2345 - имеет случайный номер.
Если создать файл .htaccess с таким содержимым:
ErrorDocument 404 http://www.mysite.ru/err404.php
То сервер будет перекидывать пользователя на неё. И в адресной строке браузера будет написано http://www.mysite.ru/err404.php. Как сделать так, чтобы пользователь думал, что он находится на странице, которая реально не существует!?
Может надо что-то послать клиенту с помощью функции Header(); в PHP?
Если Header(Location:...), то это переадресация, а есть ли заголовок, который сообщает клиенту его местоположение? Как сделать, чтоб у него в адресной строке было mysite.ru/dir/page_2345.php?
Допустим я хочу сделать ссылку на несуществующую страницу типа
page_2345 - имеет случайный номер.
Если создать файл .htaccess с таким содержимым:
ErrorDocument 404 http://www.mysite.ru/err404.php
То сервер будет перекидывать пользователя на неё. И в адресной строке браузера будет написано http://www.mysite.ru/err404.php. Как сделать так, чтобы пользователь думал, что он находится на странице, которая реально не существует!?
Может надо что-то послать клиенту с помощью функции Header(); в PHP?
Если Header(Location:...), то это переадресация, а есть ли заголовок, который сообщает клиенту его местоположение? Как сделать, чтоб у него в адресной строке было mysite.ru/dir/page_2345.php?
что-то жесть какая-то. по моему если пользователь зашел на страницу - значит страница существует. ;)
Ну естессно что-то должно быть статикой.. Ну например page.php - это типа указывает, что гостевая, а цифры - просто рандом. Только если так, если правильно вас понял)
Допустим index.php имеет ссылку на page_234_random.php, которой реально не существует! Если просто такую ссылку сделать, то будет 404 ошибка!
А надо чтобы пользователь думал, что он туда зашёл!
имхо не получится. да и зачем тебе это надо? объясни цель сего действа...
Код:
ЗЫ: не проверял. мож где подправить надо.
Вероятно, надо будет придумать что-нибудь другое...
что у тебя не получается?...
Почитаю про него...
Цитата: Тень Пса
что у тебя не получается?...
ты не знаешь как пользовать mod_rewrite? или ты не знаешь что такое mod_rewrite? :)
ты не знаешь как пользовать mod_rewrite? или ты не знаешь что такое mod_rewrite? :)
Скорее всего, не получается набраться терпения и/или пользоваться поиском
mod_rewrite ... по другому никак... иначе в заголовке все равно будет отображаться адрес существующей странице на которой пользователь.
Самый банальный пример - вики. Всё зависит от архитектуры твоего сайта.
Кстати, про него всё ещё никак не прочитаю...
Скачаю, напечатаю и почитаю на выходных...
wiki потому, что нет таких файлов на сервере, это тебе как пример использования mod_rewrite... неужели ты думаешь что файл http://ru.wikipedia.org/wiki/БАК существует?...
То есть это есть уже в сервере!
Чтобы сделать то, что мне так хотелось надо создать файл .htaccess и в нём написать:
Код:
RewriteEngine On
RewriteCond .....
RewriteRule .....
RewriteEngine Off
RewriteCond .....
RewriteRule .....
RewriteEngine Off
Причём ошибка как на localhost, так и на реальном сервере!
Код:
RewriteEngine On
RewriteBase /experimental
RewriteCond %{REQUEST_FILENAME} == Some.php
RewriteRule ^Some.php$ Some2.php
RewriteEngine Off
RewriteBase /experimental
RewriteCond %{REQUEST_FILENAME} == Some.php
RewriteRule ^Some.php$ Some2.php
RewriteEngine Off
Код:
RewriteEngine On
RewriteBase /experimental
RewriteRule ^Some.php$ Some2.php
RewriteEngine Off
RewriteBase /experimental
RewriteRule ^Some.php$ Some2.php
RewriteEngine Off
Код:
RewriteEngine On
RewriteBase /experimental
RewriteRule ^Some.php$ Some2.php
RewriteBase /experimental
RewriteRule ^Some.php$ Some2.php
Код:
RewriteEngine On
RewriteRule ^Some.php$ Some2.php
RewriteRule ^Some.php$ Some2.php
смотри error.log, там всё должно быть ясно написано )
Код:
[Sun Jun 08 10:34:40 2008] [alert] [client 127.0.0.1] D:/WebService/home/localhost/www/experimental/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Invalid command 'RewriteEngine' - что делать?
Типа команды нет такой у Apache?
Типа модуля rewrite нет в Apache? Но он там должен быть по идее...
а модуля по всей видимости нет.
А если на реальном host'е этого модуля тоже нет?
Может же такое быть, то типа ку-ку - ничего не выйдет?
если на своем хосте модуля нет - к админам, если хостинг - к админам, если плохой хостинг - меняй хостинг :)