.htaccess RewriteRule:重写URL

时间:2014-05-26 08:07:24

标签: .htaccess mod-rewrite url-rewriting

有没有办法通过重写条件和规则将www.domain.com/index.php?value=htaccessnoob更改为www.domain.com/htaccessnoob?

2 个答案:

答案 0 :(得分:0)

是的:你可以在重写时使用任何正则表达式,所以从技术上来说你可以添加这样的东西:

正则表达式:(\?|&)[a-zA-Z] =([a-zA-Z0-9] ) 替换:/ $ 2

本回合:www.domain.com/index.php?value=htaccessnoob&id=lalala 进入:www.domain.com/index.php/htaccessnoob/lalala

答案 1 :(得分:0)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine 

RewriteCond %{THE_REQUEST} \s/+index\.php\?value=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^/.]+) /index.php?value=$1 [L,QSA,NC]