Помогите с Mod Rewrite исключить скрипт

Статус
В этой теме нельзя размещать новые ответы.

sinij

Создатель
Регистрация
26 Дек 2007
Сообщения
28
Реакции
8
Помогите разобраться в следущей проблеме.
На сайте используется динамическая адресация страниц, кроме двух случаев.
1 случай если сприпт scrip1.php?h="чего то там"
то должно быть domen.com/script1-"чего то там"
2 случай если скрипт script2.php?n="чего то там"
то должно быть domen.com/"чего то там"
как нужно правильно записать RewriteCond?
Пишу так ничего не получается.
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^script1\-([0-9]+)/ /script1.php?h=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^script1.php
RewriteRule ^(.*)/ /script2.php?n=$1 [L]
 
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^script1\-([0-9]+)/ /script1.php?h=$1 [L]
RRewriteRule ^(.*)/ /script2.php?n=$1 [L]
может так лучше:
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^script1\-([0-9]+)$ script1.php?h=$1 [L]
RRewriteRule ^(.*)$ script2.php?n=$1 [L]
 
не получается
сервер кричит Internal Server Error
если сделать так
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^script1\-([0-9]+)$ script1.php?h=$1 [L]
RewriteRule ^(.*)$ script2.php?n=$1 [L]

если заремить последнюю строку тогда работает, но не работет преобразование
RewriteRule ^script1\-([0-9]+)$ script1.php?h=$1 [L]
и если написать так
RewriteRule ^script1\-([0-9]+)/ /script1.php?h=$1 [L]
то все работет. Как все таки сделать преобразование адреса для этих двух скриптов?
 
PHP:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^script1-([0-9]+)$ script1.php?h=$1 [L]
RewriteCond %{REQUEST_URI} !^script1.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ script2.php?n=$1 [L]
Как нибудь так. Беда только в том, что для ссылок на script2 нет отличительного признака. Т.е. все что запрошено, безусловно перебрасывается на script2. Так как я написал, это ничего страшного. Но если у тебя есть еще перенаправления, то нужно больше данных, чтобы правильно написать — выкладывай под хайд.
 
Как нибудь так. Беда только в том, что для ссылок на script2 нет отличительного признака. Т.е. все что запрошено, безусловно перебрасывается на script2. Так как я написал, это ничего страшного. Но если у тебя есть еще перенаправления, то нужно больше данных, чтобы правильно написать — выкладывай под хайд.

Спасибо самое оно. Немного с закрывающими слешами повозился правда.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху