Php .htaccess重写规则和301重定向

Php .htaccess重写规则和301重定向,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,你好。目前我正忙于重塑网站。解决不了几个问题 1.我需要更改url结构-例如指向«somepage»的链接,如: site.com/index.php?page=somepage 现在看起来像: site.com/someCategory/somepage 据我所知,为了不丢失«somepage»的页面排名,我需要执行301重定向。据我所知,情况如下: Redirect 301 site.com/index.php?page=somepage site.com/someCategory/so

你好。目前我正忙于重塑网站。解决不了几个问题

1.我需要更改url结构-例如指向«somepage»的链接,如:

site.com/index.php?page=somepage
现在看起来像:

site.com/someCategory/somepage
据我所知,为了不丢失«somepage»的页面排名,我需要执行301重定向。据我所知,情况如下:

Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage1 site.com/someCategory/somepage1
Redirect 301 site.com/index.php?page=somepage2 site.com/someCategory/somepage2

Redirect 301 site.com/index.php?page=somepageN site.com/someCategory/somepageN
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
如果超过一页(约400页),则它将如下所示:

Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage1 site.com/someCategory/somepage1
Redirect 301 site.com/index.php?page=somepage2 site.com/someCategory/somepage2

Redirect 301 site.com/index.php?page=somepageN site.com/someCategory/somepageN
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
2.我需要从www重定向到非www。它将如下所示:

Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage site.com/someCategory/somepage
Redirect 301 site.com/index.php?page=somepage1 site.com/someCategory/somepage1
Redirect 301 site.com/index.php?page=somepage2 site.com/someCategory/somepage2

Redirect 301 site.com/index.php?page=somepageN site.com/someCategory/somepageN
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
3.此外,目前我的.htaccess文件有创建漂亮URL的规则:

DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/(.+)/?$ index.php?category=$1&page=$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ index.php?category=$1
问题是:

  • 如何将它们结合起来?我应该按什么顺序安排
  • 在大约400个301Redirect存在的情况下,重定向是否正常工作
  • 也许你能指出我的错误
某个类别会有所不同吗?让它成为另一个查询字符串变量是否有用


3和1有何不同?您不会将SEO格式映射到内部动态格式。#3搜索引擎优化是否更具动态性?如何区分#1和#3?

同样的问题,请转到此url,因为已有网站。目前从外部对它的所有引用(例如搜索引擎)都是:
site.com/index.php?page=somepage
(唯一的变量-页面)。例如,用户单击旧链接
site.com/index.php?page=page1
,它反过来将他重定向到
site.com/someCategory/page1
(somecategory和somepage-变量),然后#3开始工作。#3负责在clear for php
index.php?category=somecategory&page=page1
中转换