php url вопрос маршрутизации - PullRequest
1 голос
/ 30 апреля 2010

http://mysite.com/songs/company-name/song-name

я хочу перенаправить его на

http://mysite.com/songs/index.php?name=company-name&song=song-name

Я читал некоторые статьи об этом mod_rewrite, но на самом деле я не мог точно понять, я ценю, если вы можете мне помочь.

спасибо

РЕДАКТИРОВАТЬ: мод перезаписи включен

Ответы [ 3 ]

1 голос
/ 30 апреля 2010

Проверьте, включен ли в вашей установке apache mod_rewrite.

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

В вашем .htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^/?$ http://mysite.com [R=301,L]

RewriteRule songs/(.*)/(.*)$ songs/index.php?name=$1&song=$2

Но прочитайте документацию по apache http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html, а также проверьте свою конфигурацию, и здесь вы также найдете несколько полезных вещей http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/#redirects

Надеюсь, это поможет.

0 голосов
/ 04 мая 2010
RewriteEngine On
RewriteRule   ^/songs/([\d\w\-]+)/([\d\w\-]+)$   test.php?name=$1&song=$2 [L]

Иногда полезно включить ведение журнала:

RewriteLogLevel 4
RewriteLog /home/www/mysite.com/log/rewrite.log
0 голосов
/ 30 апреля 2010
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^([\d\w]+)/([\d\w]+)$ test.php?name=$1&song=$2 [L]
...