我成功地將wordpress網站大規模遷移到Drupal.不幸的是,在wordpress中,內容URL類似於www.example.org/?p=123.我的域仍然相同,但是我想通過
htaccess
进行重定向
因為Drupal不允许將URL設置為www.example.org/?p=123.換句话說,內容没有与wordpress中相同的URL.例如,新的Drupal URL將類似於
www.example.org/content/MyNewPage
我在.htaccess檔案中尝試了此操作,但它不起作用
Redirect 301 /\?p=375 http://www.example.org/content/MyNewPage
所以我尝試了以下方法,但是它也不起作用。
Redirect 301 /\?p\=375 http://www.example.org/content/MyNewPage
仅作為測試,我尝試了以下方法,並且有效。
Redirect 301 http://www.example.org http://www.google.com
我確保我的重定向規則在.htaccess中列表的頂部,因此將首先對其进行評估.我该如何解決?
最新回復
- 5月前1 #
- 5月前2 #
您可以考虑在htaccess中使用ModRewrite
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^p=345$ [NC] RewriteRule index.php content/MyNewPage [NC,L,R=301] </IfModule>
您還可能希望將旧頁面ID傳遞给串聯的新URL(或通過QS?):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^p=(.*)$ [NC] RewriteRule index.php content/MyNewPage-%1 [NC,L,R=301] </IfModule>
相似問題
- apache:仅在找不到檔案時才重定向請求?apachehtaccessmodrewrite2020-12-29 00:52
- apache:重定向410網址格式apachehtaccessredirectmodrewrite2021-01-04 23:53
- regex:如何使用htaccess隱藏php URL擴充套件?phpregexapachehtaccessmodrewrite2020-12-29 13:24
- apache:htaccess重寫任何檔案夹,但不重寫任何檔案apachehtaccessmodrewriteurlrewriting2020-12-29 18:28
- apache:帶破折號或连字元的RewriteRuleapachehtaccessmodrewriteurlrewriting2020-12-29 20:24
- apache:htaccess子域的埠重寫apachehtaccessredirectmodrewriteurlrewriting2021-01-02 03:57
"重定向"和" RedirectMatch"均不允许您為重定向源指定查詢字元串。 [来源]
您必须使用mod-rewrite基於查詢字元串进行重定向: