помогите с мод реврайтом

Статус
В этой теме нельзя размещать новые ответы.
a_n_d_y работает этот код
Код:
RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ref.php?f=$1 [L]
но вот любые внутренние страницы типа bla-bla.com/contact.php считает как (перепиcывает на) ref.php
===

на одном форуме я нашел еще такой пример (правда он у меня не заработал)

Код:
такое
http://mysite.com/ref.php?f=Services
переписали на такое
http://mysite.com/something/
таким кодом:

RewriteEngine On
RewriteCond   %{QUERY_STRING} ^f=Services$
RewriteRule   ^ref\.php$ http://mysite.com/something/ [R=301,L]
может этот пример наведет на нужную мысль

===
з.ы. кидай в пм вмз кошель куда пиво лить )))

======
Добавлено через 53 минуты
в общем я мозги поднапряг и сделал этот код рабочим вот таким хаком
Код:
RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^z-(.*)$ /ref.php?f=$1 [L]
то есть переписывать будет не все стринги после слеша, а только те которые маркированы "z-" в начале

если у кого то появится более элегантное решение - велкам...
анди - с меня пиво полюбасу :)
 
работает этот код
но вот любые внутренние страницы типа bla-bla.com/contact.php считает как (перепиcывает на) ref.php
А файл /contact.php существует? По идее, если он существует, то его url не должен перепрописываться. Это как раз задают директивы !-f и !-d.
 
А файл /contact.php существует? По идее, если он существует, то его url не должен перепрописываться. Это как раз задают директивы !-f и !-d.

не знаю почему, но да - в том виде как он предложен - перепрописывается. это в принципе не важно уже. я добавил хак в правило, как я написал выше, меня вполне устраивает

а. стоп... файл /contact.php и другие внутренние НЕ существуют еще физически.
ясно, я не знал что надо физически его наличие :)
 
возможно если ты полностью опишишь задачу и смысл редиректа что то и можно будет толковое посоветовать, а так - сплошная телепатия..
 
RewriteEngine on
RewriteRule ref/(\d+)/?ref.php?f=$1 [L]

Первая строчка включает mod_rewrite. Во второй указывается, что веб-сервер при запросе URL вида /ref/username/ должен обратиться к /ref.php?f=username
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху