[英]Apache mod_rewrite help on shared server
我正在使用具有多個域的共享托管服務器,並且我的主.htaccess(在public_html /目錄內部)將所有流量重定向到該服務器到我的主域(很好)。 現在的問題變成了,我在子域包含在%{REQUEST_URI}
變量中的主域上運行了Wordpress。 所以我的.htaccess代碼:
RewriteRule .* https://%{HTTP_HOST}/index.php?%{REQUEST_URI} [L,R=301]
動作:
http://www.tonydiloreto.com/about/
至:
https://www.tonydiloreto.com/?/tonydiloreto/about/
(我把?
放在那里,這樣我就可以看到變量中存儲了什么)。 我的問題是,重寫時如何使用正則表達式從%{REQUEST_URI}
變量中刪除其他/ tonydiloreto ? 如果這是PHP,我會這樣做:
$new_url = str_replace("/tonydiloreto", "", %{REQUEST_URI});
如果這樣的話。 如果您想了解我在說什么,請立即訪問我的網站(tonydiloreto.com),並在斜杠后面加上任何內容。
謝謝!
不太確定這里的問題是什么...您只需指定一個僅捕獲uri部分的請求規則。 有數以百萬計的示例...
RewriteEngine on
RewriteRule ^/tonydiloreto/(.*)$ https://%{HTTP_HOST}/index.php?$1 [L,R=301]
顯然,這已記錄在案: http : //httpd.apache.org/docs/current/mod/mod_rewrite.html
注意:以上是主機配置的版本。 如果確實需要使用.htaccess
樣式文件,則必須從模式中刪除前導斜杠( /
),因為此類文件適用於相對URI。 眾所周知, .htaccess
風格的文件容易出錯,難以調試,並且確實降低了服務器的速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.