对于.htaccess非常陌生,不能完全理解其中的大部分内容。无论如何,其意图是将/index.php?page=sample重写为sample.htm。(或其他任何一页)
下面的脚本似乎在一定程度上起作用。如果我输入/sitemap.htm,它确实会显示该页面,但地址栏将更改为/index.php?page=sitemap。我如何将url重写为更友好的url,以便当我输入/sitemap.htm时地址保持不变,当我键入/index.php?page=sitemap时,它将重定向到/sitemap.htm,但仍然有效。
抱歉,如果我听起来很困惑的话。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /test/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+getreal\.co\.uk/index\.php\?page=([^&\s]+) [NC]
RewriteRule ^ %1.htm? [L,R=301]
RewriteRule ^(.+?)\.htm?$ index.php?page=$1 [L,R=301]发布于 2013-12-09 12:49:41
你们关系很好。但是THE_REQUEST不包含域名。
试试下面的代码:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /test/
RewriteCond %{THE_REQUEST} /index\.php\?page=((?!login\b)[^&\s]+) [NC]
RewriteRule ^ %1.htm? [L,R=302]
RewriteRule ^(.+?)\.htm$ index.php?page=$1 [L,NC,QSA]https://stackoverflow.com/questions/20470829
复制相似问题