помогите с htacces

ValdisRu
На сайте с 02.10.2006
Offline
139
374

нужно чтобы урлы вида

site.com/dir/q1W2e3R4t5Y?var1=value1&var2=value2&....varN=valueN

обрабатывылись скриптом

site.com/dir/script.php?id=q1W2e3R4t5Y&var1=value1&var2=value2&....varN=valueN

dir - скорее всего реальный (физически) каталог

количество переменных var1...varN заранее неизвестно и может меняться

Обалденный заработок на социальных сетях (https://goo.gl/Qtsq6M)
[umka]
На сайте с 25.05.2008
Offline
456
#1

Кладите в /dir/ файлик .htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /script.php [L]

и он будет обрабатывать все несуществующие урлы для этой директории

Лог в помощь!
ValdisRu
На сайте с 02.10.2006
Offline
139
#2
'[umka:
;12252697']Кладите в /dir/ файлик .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /script.php [L]

и он будет обрабатывать все несуществующие урлы для этой директории

а как получить переменную id=q1W2e3R4t5Y ??

можно конечно в php распарсить $_SERVER['REQUEST_URI'] но во-первых это будет костыль, а во-вторых там будет вовсе не php поэтому такой простой способ не подходит

зы. на php я сейчас пытаюсь собрать модель этой штуковины, но в конечном варианте будет не php скрипт, а флеш файл - swf внутри которого в экшен скрипте нужны все вышеперечисленные переменные (парсить там REQUEST_URI как то не хочется)

siv1987
На сайте с 02.04.2009
Offline
427
#3
ValdisRu:
а как получить переменную id=q1W2e3R4t5Y ??
можно конечно в php распарсить $_SERVER['REQUEST_URI'] но во-первых это будет костыль, а во-вторых там будет вовсе не php поэтому такой простой способ не подходит

а чем это из REQUEST_URI q1W2e3R4t5Y?var1=value1&var2=value2&....varN=valueN

сильно отличается от этого q1W2e3R4t5Y&var1=value1&var2=value2&....varN=valueN

если это результат реврайта, то урл без параметров можно получить через $_SERVER['REDIRECT_URL']

ValdisRu
На сайте с 02.10.2006
Offline
139
#4
siv1987:
а чем это из REQUEST_URI q1W2e3R4t5Y?var1=value1&var2=value2&....varN=valueN
сильно отличается этим q1W2e3R4t5Y&var1=value1&var2=value2&....varN=valueN

я не совсем понял вашего вопроса

попробую пояснить еще раз

php скрипт использоваться не будет (не удачно я привел пример)

на самом деле нужно чтобы при запросе урлов вида

site.com/dir/q1W2e3R4t5Y?var1=value1&var2=value2&....varN=valueN

вызывался флеш ролик

site.com/dir/movie.swf?id=q1W2e3R4t5Y&var1=value1&var2=value2&....varN=valueN

тогда внутри флеша в экшен скрипте будут доступны переменные:

id=q1W2e3R4t5Y

var1=value1

var2=value2

....

varN=valueN

если сделать так, как предложил [umka], то первой переменной id=q1W2e3R4t5Y не будет, ее можно получить, но для этого надо лишние манипуляции внутри экшен скрипта, которых хотелось бы избежать

[umka]
На сайте с 25.05.2008
Offline
456
#5

А... я не сразу понял, что нужно :)

Тогда последняя строчка будет такая:

RewriteRule ^(.+)$ /script.php?id=$1 [L,QSA]

ValdisRu
На сайте с 02.10.2006
Offline
139
#6
'[umka:
;12253071']А... я не сразу понял, что нужно :)
Тогда последняя строчка будет такая:

RewriteRule ^(.+)$ /script.php?id=$1 [L,QSA]

в этом случае в скрипте видно одну лишь переменную id=q1W2e3R4t5Y а остальные гет переменные var1=value1 и var2=value2 в скрипте отсутствуют

поэтому кроме переменной id дополнительно надо еще как то исхитриться передать всю QUERY_STRING

[umka]
На сайте с 25.05.2008
Offline
456
#7

Что ж за напасть-то ) Думал, QSA само добавит параметры.

Тогда так

RewriteRule ^(.+)$ /script.php?id=$1&%{QUERY_STRING} [L]

ValdisRu
На сайте с 02.10.2006
Offline
139
#8
'[umka:
;12253729']Что ж за напасть-то ) Думал, QSA само добавит параметры.
Тогда так
RewriteRule ^(.+)$ /script.php?id=$1&%{QUERY_STRING} [L]

то что нужно, спасибо

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