.htaccess

12
J
На сайте с 08.06.2006
Offline
844
979

Помогите сделать мод_реврите для пхп файла

Есть адрес типа site.ru/t.php?code_type=1 надо сделать site.ru/t/1, как это сделать?

J
На сайте с 08.06.2006
Offline
844
#1

делал так

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)t/(.*)$ /t.php?code_type=$1 [L]

Shtogrin
На сайте с 02.11.2006
Offline
95
#2

Первая (.*) лишняя.

RewriteRule ^t/(.*)$ /t.php?code_type=$1 [L]

или если аргумент только число

RewriteRule ^t/([0-9]*)$ /t.php?code_type=$1 [L]

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
J
На сайте с 08.06.2006
Offline
844
#3

RewriteRule ^/t/(.*)$ /t.php?code_type=$1 [L]

вот так работает.

но такая видимость, что вроде как есть папка "t" и в ней папка .

а это плохо! как исправить

вроде как надо [L] заменить чем-то

Shtogrin
На сайте с 02.11.2006
Offline
95
#4

[L] - Остановить процесс преобразования на этом месте и не применять больше никаких правил преобразований. В даном случае можете просто убрать.

joost:

но такая видимость, что вроде как есть папка "t" и в ней папка .

Не совсем понял. Возможно, попробуйте второй вариант

RewriteRule ^t/([0-9]*)$ /t.php?code_type=$1

тогда site.ru/t/1/ не будет обрабатыватся

J
На сайте с 08.06.2006
Offline
844
#5
Shtogrin:
Не совсем понял

имею в виду, что при таком использовании RewriteRule ^/t/(.*)$ /t.php?code_type=$1 [L], выходит так, что поисковики подумают что на сервере есть папка "t", а в ней еще одна.

Почему я так подумал.

У меня в корне логотип.

при RewriteRule ^/t/(.*)$ /t.php?code_type=$1 его нет

izbushka
На сайте с 08.06.2007
Offline
110
#6
joost:
имею в виду, что при таком использовании RewriteRule ^/t/(.*)$ /t.php?code_type=$1 [L], выходит так, что поисковики подумают что на сервере есть папка "t", а в ней еще одна.
Почему я так подумал.
У меня в корне логотип.
при RewriteRule ^/t/(.*)$ /t.php?code_type=$1 его нет

Если путь site.com/t/1

то t - естественно каталог, это собственно и было задачей этого RewriteRule.

А проблема, я думаю, в том что у вас ссылка на логотип была относительной (<img src=logo.gif>). Если сделаете ее абсолютной - будет все ок (<img src=/logo.gif>)

Shtogrin
На сайте с 02.11.2006
Offline
95
#7

Так и есть, для этого вы и делаете преобразования. Замените адрес на site.ru/t_1, тогда base останется корнем сайта.

J
На сайте с 08.06.2006
Offline
844
#8

так поисковики сочтут "t" за каталог (это же плохо?), а на самом деле это страница в корне сайта.

izbushka
На сайте с 08.06.2007
Offline
110
#9
joost:
так поисковики сочтут "t" за каталог (это же плохо?)

Почему вы так решили? На самом деле это нормально, ничего плохого нет

J
На сайте с 08.06.2006
Offline
844
#10
izbushka:
Если путь site.com/t/1
то t - естественно каталог

поисковики его тоже за каталог сочтут? это плохо?

12

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