[英]Odd modrewrite behavior
我在子目錄中運行Wordpress(和buddypress插件):
mydomain.com/mysubdomain/
我的modrewrites如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysubdomain/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysubdomain/index.php [L]
</IfModule>
一切正常。 例如,位於mydomain.com/mysubdomain/?page=2的“關於我們”頁面的“漂亮” URL為mydomain.com/mysubdomain/about-us
我的根目錄中的mydomain.com上也有一個非wordpress網站,其重寫規則如下:
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).mydomain.com [NC]
RewriteRule ^newpage\.html$ http://mydomain.com/mysubdomain/about-us [NC,L]
這重寫http://mydomain.com/newpage.html到頁面http://mydomain.com/mysubdomain/about-us -然而,這顯示WordPress的404頁沒有發現錯誤。 (瀏覽器中的URL是正確的: http : //mydomain.com/newpage.html )
由於顯示了Wordpress 404頁面,這表明問題在於Wordpress的modrewrites與newpage.html重定向沖突。
幫助/建議,不勝感激!
謝謝!
您的規則似乎不符合您的描述:
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).mydomain.com [NC]
RewriteRule ^newpage\.html$ http://mydomain.com/mysubdomain/about-us [NC,L]
這會將瀏覽器重定向到http://mydomain.com/mysubdomain/about-us ,這與正在發生的情況不符。 問題是,如果您只是重寫URI(不確定),則wordpress控制器可能無法正確處理請求(不確定,這只是一個猜測),因此您可能需要重寫為未重寫的URI:
RewriteRule ^newpage\.html$ /mysubdomain/?page=2 [NC,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.