2013-03-19 4 views
3

Я только начинаю изучать, как переписывать URL-адреса с файлом .htaccess..htaccess basic mod rewrite

Как бы я изменил:

http://www.url.net/games/game_one.php

в этом:

http://www.url.net/games/game-one/

Это то, что я пытался

RewriteRule ^/games/game-one.php ^/games/game-one/ [NC,L] 
+0

RewriteRule ^/игры/game_one.php ^/игры/игра-один/\t [NC, L] –

+0

регулярные выражения, как иностранцу говорят мне :( –

+0

Мы все должны изучать мистические руны инопланетян ... у них есть сила! – Gus

ответ

2

Если вы хотите, чтобы люди использовать /игры/игры-один/ явно, вы должны переписать так, что он просит /game/game-one.php. Так что наоборот, чем у вас в этом вопросе.

RewriteEngine On 
RewriteRule ^games/game-one/$ /games/game-one.php 

Если вы хотите переписать и другие URL-адреса, то вам нужно будет использовать технику, аналогичную предыдущему ответу.

+0

О хе-хе, да, она, вероятно, имеет это в обратном направлении. Сфокусировался на объяснении регулярных выражений и даже не заметил :) – Gus

+0

работает спасибо! x –

+0

@Gus Это сложный предмет для описания (даже если вы не говорите чужой!) – nickhar

2

Попробуйте это:

То, что говорит, соответствует чему-либо, начиная с/games/game-one и запоминает первую часть этого матча, а затем заменяет его первой частью (группой захвата в выражении регулярных выражений) и символом косой черты. Обратите внимание, что для соответствия символу периода вам предшествует символ \, так как . является специальным символом, который означает «любой символ» (по крайней мере, если вы хотите избежать совпадения любого символа).

+0

Да, я вижу. Хмм не работает, хотя на моем сайте. Я дам вам +1 в любом случае для помощи :) –

+0

У вас есть директива 'RewriteEngine on'? – Gus

Смежные вопросы