php url路由问题

时间:2010-04-29 23:33:06

标签: php mod-rewrite url-routing

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

我想将其重定向到

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

我读了一些关于mod_rewrite的文章,但实际上我无法理解,如果你能帮助我,我很感激。

感谢

编辑:启用mod重写

3 个答案:

答案 0 :(得分:1)

检查您的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

希望有所帮助。

答案 1 :(得分:0)

RewriteEngine On

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

答案 2 :(得分:0)

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