簡體   English   中英

.htaccess重寫器和301重定向

[英].htaccess rewriterule and 301 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/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文件具有創建漂亮網址的規則:

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重定向的情況下正常工作?
  • 也許您可以指出我的錯誤?
RewriteEngine On

# www to non-www
RewriteCond %{HTTP_HOST}  ^www\. [NC]
RewriteRule ^(.*)$  http://domain.com/$1  [R=301,L]

# SEO format to dynamic format (200, not 301)
RewriteRule  ^someCategory/([^/]+)/?$  /index.php?page=$1 [QSA]
# 'someCategory' is fixed text

someCategory會有所不同嗎? 使其成為另一個查詢字符串變量是否有用?

#3與#1有何不同? 無需執行301將SEO格式映射為內部動態格式的操作。 #3是否更適合動態搜索引擎優化? 您如何區分#1和#3?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM