簡體   English   中英

在Friendly-URL上使用RewriteRule-通過重定向301獲取變量

[英]Using RewriteRule on Friendly-URL - Get Variables with Redirect 301

我有一些問題。 我進行了很多搜索,嘗試了各種變體,但仍然無法正常工作。

我的目的僅僅是這樣:

重定向: http : //site.com/folder1/folder2/ 頁面

至: http : //site.com/folder1/folder2/ 頁面

請注意,我正在使用“友好的URL”。

現在,這里是我嘗試的方法以及遇到的問題。

1) 重定向301

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page

此重定向有效,問題是,我從“頁面”獲取變量顯示在URL的末尾,這對SEO不利:

http://site.com/folder1/folder2/Page?get=page

2) RewriteRule

mod_rewrite的RewriteRule應該可以解決出現“獲取變量”的問題(根據我的閱讀)。

問題是,我沒有讓它適用於我的Fancy URL結構。

RewriteRule ^/folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

它根本不起作用。 重定向未執行,因此這里一定有問題。 我嘗試了該代碼的許多變體。

您不能直接在友好URL上使用RewriteRule嗎?

(友好的URL表示我剝離了.php擴展名)

期待有所幫助! 謝謝!


更新1:

請注意,此處不區分大小寫。

即使我的示例是: Page1 => Page 2

代替: page => Page

問題仍然存在。


更新2:

這是到目前為止我得到的最接近的解決方案(但還沒有找到):

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page?

我加了一個“?” 在末尾。

這將為我提供以下目標網址: http : //site.com/folder1/folder2/Page

它刪除了“獲取變量”,但仍不如我希望的那樣對SEO友好。

在第二種情況下,如果要在htaccess文件中添加重寫規則,則不應將前導斜杠與之匹配。

嘗試:

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

為什么問? 好問題!

我不能說我對這里的問題很清楚:您是要讓大寫規則匹配還是要丟失任何查詢字符串? 都?

如果是大寫字母,我認為該規則可以刪除(正確的錯別字Rajesh和hakre呼出)。 是否希望刪除查詢字符串並嘗試添加結尾? 到規則的后半部分。 它看起來像:

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page? [R=301,L]

暫無
暫無

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

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