【问题标题】:URL Friendly using htaccess使用 htaccess 的 URL 友好
【发布时间】:2014-09-11 10:23:56
【问题描述】:

有以下网址,但只有第一个适用于我的 htaccess 代码。请帮助解决这两个网址的时间。谢谢。

网址 1:http://domain.com/index.php?id=Apple

输出:http://domain.com/Apple(没关系)

网址 2:http://domain.com/index.php?id=Apple-Board&jid=Chief-Accountant

输出:http://domain.com/Apple-Board(这不行)

预期输出:http://domain.com/Apple-Board/Chief-Accountant

Options -Multiviews
RewriteEngine on

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?id=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)/?$ index.php?id=$1 [B,L]
RewriteRule /id/(.*)/jobid/(.*)/ index.php?id=$1&jid=$2

【问题讨论】:

    标签: apache .htaccess url mod-rewrite


    【解决方案1】:

    你可以使用:

    Options -Multiviews
    RewriteEngine on
    
    RewriteCond %{THE_REQUEST} \s/+index\.php\?id=([^\s&]+)&jid=([^\s&]+) [NC]
    RewriteRule ^ /%1/%2? [R=302,L]
    
    RewriteCond %{THE_REQUEST} \s/+index\.php\?id=([^\s&]+) [NC]
    RewriteRule ^ /%1? [R=302,L]
    
    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l
    RewriteRule ^ - [L]
    
    RewriteRule ^([^/]+)/?$ index.php?id=$1 [QSA,L]
    
    RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id=$1&jid=$2 [L,QSA]
    

    【讨论】:

    猜你喜欢
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2012-06-03
    • 2013-05-24
    • 2015-03-04
    • 2012-04-25
    相关资源
    最近更新 更多