也许这似乎是一个非常简单的问题,我的网站的网址写得很糟糕,所以我想重写它们。所以我准备激活mod_rewrite。问题如下:
假设我的 url 从 切换site_url/index.php?page=mypage&type=mytype
到site_url/mypage/mytype
,如果刷新页面会发生什么,是否有必要将相反的过程放入 .htaccess 文件进行重写?
也许这似乎是一个非常简单的问题,我的网站的网址写得很糟糕,所以我想重写它们。所以我准备激活mod_rewrite。问题如下:
假设我的 url 从 切换site_url/index.php?page=mypage&type=mytype
到site_url/mypage/mytype
,如果刷新页面会发生什么,是否有必要将相反的过程放入 .htaccess 文件进行重写?
您需要重定向和重写的组合。URL 重写过程的大纲草案将是:
.php
,则 301/302 将请求重定向到其 SEO 友好版本。这将更改浏览器地址栏中的地址。这是一个非常基本的重写规则示例,它执行上述两个操作:
#
# redirect /index.php?page=somepage&type=sometype to friendly url
#
RewriteCond %{THE_REQUEST} /index\.php
RewriteCond %{QUERY_STRING} page=(\w+)&type=(\w+)
RewriteRule ^index\.php$ /%1/%2? [R,L]
#
# rewrite /somepage/sometype to index.php
#
RewriteRule ^(\w+)/(\w+)$ index.php?page=$1&type=$2
在 .htaccess 中,您应该转发映射...
^/(mypage)/(mytype) to index.php?page=$1&type=$2
但是应该不理会相反的情况。因此,直接请求site_url/index.php?page=mypage&type=mytype
将简单地按原样传递。
所以,刷新不会改变任何东西。