.htaccess htaccess重写规则,旧URL到新URL
有一点帮助别人 我现在拥有的(基于我用于不同类型URL的一些代码) 我希望第一个URL重定向到第二个URL,之后不包含任何查询字符串 这就是我到目前为止必须做的.htaccess htaccess重写规则,旧URL到新URL,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,有一点帮助别人 我现在拥有的(基于我用于不同类型URL的一些代码) 我希望第一个URL重定向到第二个URL,之后不包含任何查询字符串 这就是我到目前为止必须做的 RewriteRule ^(page.php?id=missionstatement+)/?$ http://example.com/why/mission-statement [R=301,L] RewriteRule ^(page.php?id=ofsted+)/?$ http://example.com/how/ofsted-re
RewriteRule ^(page.php?id=missionstatement+)/?$ http://example.com/why/mission-statement [R=301,L]
RewriteRule ^(page.php?id=ofsted+)/?$ http://example.com/how/ofsted-report [R=301,L]
RewriteRule ^(page.php?id=governingbody+)/?$ http://example.com/governors [R=301,L]
啊
试一试:
#check mod_rewrite is enabled
<IfModule mod_rewrite.c>
#enable mod rewrite
RewriteEngine On
#set working directory
RewriteBase /
#force trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]
#bootstrap index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page.php\?id=(.*)$ http://www.willans.com/page.php/$1 [R=310,L]
#end mod rewrite check
</IfModule>
#检查模块重写是否启用
#启用修改重写
重新启动发动机
#设置工作目录
重写基/
#强制尾部斜杠
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_URI}!(.*)/$
重写规则^(.*)$$1/[R=301,L]
#bootstrap index.php
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^page.php\?id=(.*)$http://www.willans.com/page.php/$1[R=310,L]
#结束mod重写检查
我已经有一段时间没有做任何web开发了,但这至少应该是朝着正确的方向推进;) 以下是规则(将重定向1个URL):
%{HTTP\u HOST}
——这将重定向到与请求的URL相同的域。如果必须使用不同的域名,请用确切的域名替换?
将删除现有的查询字符串这是错误的——RewriteRule不适用于这样的查询字符串。你能告诉我这个URL以及它应该如何被重定向(从URL=>到URL)吗?因为你在规则中加入的一些“字符”让我很困惑。=>呜呜。谢谢你的解释。
RewriteCond %{QUERY_STRING} ^id=whatever
RewriteRule ^page\.php$ http://%{HTTP_HOST}/how/somehow? [R=301,L]