簡體   English   中英

奇怪的modrewrite行為

[英]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.

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