首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将/index.php?page=sample重写为/sample.htm

将/index.php?page=sample重写为/sample.htm
EN

Stack Overflow用户
提问于 2013-12-09 12:35:21
回答 1查看 153关注 0票数 1

对于.htaccess非常陌生,不能完全理解其中的大部分内容。无论如何,其意图是将/index.php?page=sample重写为sample.htm。(或其他任何一页)

下面的脚本似乎在一定程度上起作用。如果我输入/sitemap.htm,它确实会显示该页面,但地址栏将更改为/index.php?page=sitemap。我如何将url重写为更友好的url,以便当我输入/sitemap.htm时地址保持不变,当我键入/index.php?page=sitemap时,它将重定向到/sitemap.htm,但仍然有效。

抱歉,如果我听起来很困惑的话。

代码语言:javascript
复制
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]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-09 12:49:41

你们关系很好。但是THE_REQUEST不包含域名。

试试下面的代码:

代码语言:javascript
复制
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]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20470829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档