0
我有一個簡單的.htaccess需求,我失敗了,並會欣賞一個指針。正則表達式.htaccess
來自舊CMS的內容正在遷移到WordPress。老CMS的帖子被格式化以下列方式:
{postid}-example-post-title
如
101-this-is-an-old-post
我有一個在理論上舊後ID與新的WordPress後的ID,這樣的映射表\{oldid-*}
應該映射很適合WordPress的標準\?p={newid}
格式。我希望下面的工作重定向舊網址101 - 這 - 是最後WordPress的發佈1660:
Redirect 301 /101-.*$ /?p=1660
的正則表達式匹配/101-.*$正確的,但由於某種原因我的.htaccess文件似乎無法識別正則表達式。這是我的全htaccess文件:
RewriteEngine Off
SetEnv DEFAULT_PHP_VERSION 56
DirectoryIndex index.cgi index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Redirect 301 /101-(.*) /?p=1660
我已經試過移動重定向到文件的頂部,該文件的底部與IfModule塊無濟於事之間。我顯然缺少一些東西 - 任何想法讚賞
重定向不指望正則表達式(請參閱doc)。改用RedirectMatch或URL重寫(RewriteRule)。 – julp