【发布时间】:2014-03-19 13:35:47
【问题描述】:
美好的一天。目前我正忙于改造网站。解决不了几个问题。
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
如果超过一页(大约 400 个),那么它将如下所示:
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
2.我需要从 www 重定向到非 www。它看起来像这样:
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 301 重定向的情况下重定向是否正常工作?
- 也许你能指出我的错误?
【问题讨论】:
-
同样的问题去这个网址stackoverflow.com/questions/4817663/…
标签: php apache .htaccess mod-rewrite redirect