我的.htaccess文件中有一個RedirectMatch規則可以正常工作,但我遇到了一個使用mod_rewrite的類似規則。mod_rewrite相當於一個RedirectMatch規則
我的目標是擁有此URL:mysite.com/anything/print顯示此頁:mysite.com/anything?view=print。
,致力於重定向它的規則是這樣的:
RedirectMatch 301 ^(.*)/print/?$ http://mysite.com/$1?view=print
但現在我想從一個可見的301改變這種重定向到一個「看不見」的使用mod_rewrite重寫。我已經嘗試了許多不同的變化對這個(有和沒有RewriteBase),並沒有工作過:
RewriteEngine On
RewriteBase/
RewriteRule ^(.*)/print/? $1?view=print
我在做什麼錯? Mod_rewrite是肯定啓用的,並且在同一個.htaccess文件中有基於Wordpress的mod_rewrite規則。
UPDATE
從@Nathan使用技巧,我現在都沒有了。但是,當我訪問mypost/print時,仍然收到404。
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteRule ^(.*)/print/?$ /index.php/$1?view=print [L]
當我附加/打印/到一個固定鏈接,所述WP_DEBUG插件指示如下內容:
請求:myposttype/mypost/print
查詢字符串:attachment=print
匹配重寫規則:myposttype/[^/]+/([^/]+)/?$
匹配重寫查詢:attachment=print
你有其他規則嗎? –