2011-01-28 5 views
0

Я нашел вопрос о перезаписи URL: .htaccess: Problem with URL rewriting или .htaccess question - URL-rewritingURL переписывания с .htaccess

я попробовал свой метод, но не работает в моем случае? шахты выглядеть просто:

http://example.org.uk/member/home.php?profile --> http://example.org.uk/member/home/profile/ 
http://example.org.uk/member/home.php?history --> http://example.org.uk/member/home/history/ 

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#RewriteRule ^home/([0-9][0-9])/$ /home.php?$1 
RewriteRule ^/([^/]+).php$ /home.php?$1 [L] 

любой thougt является appricated? спасибо

+0

Ваши правила и примеры противоречат друг другу. Вы хотите, чтобы 'home.php? Profile' отображался в' home/profile' (example) или 'home/profile' для перезаписи в' home.php? Profile' (переписать код)? –

+0

@Linus: Я хочу, чтобы меня сопоставили с домом/профилем и удаляли php ex. – tonoslfx

ответ

4

Вы, что делает его немного сложнее, должно работать

http://example.org.uk/member/home.php?profile --> http://example.org.uk/member/home/profile/ 
http://example.org.uk/member/home.php?history --> http://example.org.uk/member/home/history/ 



RewriteRule ^/member/home/(.*)/ /home.php?$1 [L] 

или в более общем

RewriteRule ^/(.*)/(.*)/(.*)/ /home.php?$3 [L] 
+0

не должно быть вопросительного знака после первого аргумента? Я все еще изучаю RewriteMagic :) –

+0

см. Мой ответ на http://stackoverflow.com/questions/559186/php-rewrite-rules/559193#559193 там не обязательно быть? в приведенном выше. –

+0

спасибо. его любопытную работу. но мне нужно изменить свой url на абсолютный путь. 1 шт. когда im на 'home/profile /' right! а затем, когда я нажимаю ссылку на 'home/history', URL-адрес становится таким« home/home/history »любой идеей, почему? – tonoslfx

0

В RewriteRule у вас есть «^/([^ /] +). php $", но вы не хотите расширение .php в URL-адресах. Удалите .php из правила перезаписи. Что-то, как это должно работать:

RewriteRule ^/member/home/.*$ /member/home.php?$1 [L] 
-1

он все равно будет искать для». php ", поэтому вы можете использовать

RewriteRule ^/([^/]*)/$ home.php?$1 
0
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/member/home/([a-zA-z0-9]+)/$ /member/home.php?$1 [L] 
Смежные вопросы