我想从www.site.com/page.php?url=string.html
转到www.site.com/string.html
我的.htaccess看起来像这样:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-/]+).html$ page.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+).html/$ page.php?url=$1
但它没有做任何事情。
答案 0 :(得分:1)
请尝试以下重写:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /cms/page\.php\?url=([^\s&]+) [NC]
RewriteRule ^page\.php$ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*\.html$ /cms/page.php?url=$0 [QSA,L]
由于页面位于/cms
目录中,因此更新规则以反映相同的内容。