Php .htaccess重写规则和301重定向
你好。目前我正忙于重塑网站。解决不了几个问题 1.我需要更改url结构-例如指向«somepage»的链接,如: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
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 phpindex.php?category=somecategory&page=page1
中转换