我試圖重寫URL到根目錄中刪除兩個子目錄並顯示該網頁來代替。這我在的.htaccess使用代碼:如何通過mod_rewrite從URL中刪除兩個子目錄?
RewriteRule ^page$ subdirectoryone/subdirectorytwo/page [NC,QSA,L]
這是在根目錄下我的完整的.htaccess文件:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS_HOST} ^mysite.com
RewriteRule (.*) https://www.mysite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^mysite.com
RewriteRule (.*) https://www.mysite.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.mysite.com/$1 [R=301,L]
# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]
RewriteRule ^page$ subdirectoryone/subdirectorytwo/page [NC,QSA,L]
這是第一subddirectory中的.htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirectoryone/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectoryone/index.php [L]
</IfModule>
# END WordPress
然而,當我打開www.mysite.com/page它會顯示錯誤404順便說的網址:我使用WordPress的,安裝在第一個子目錄 - 這是否有什麼區別?
而且,它的作品時,我只能去除第一兩個子目錄。
任何想法?提前致謝!
是它與WP的巨大差異安裝。 WP劫持每一個URL並嘗試通過index.php路由它,這很可能是你獲得404的原因。讓我們看看你的整個htaccess規則。 –
謝謝你的提示。我添加了完整的代碼。 – Georg
你有沒有在兩個目錄中安裝wordpress?如果沒有,爲什麼Wp規則都是這樣。它應該只在它安裝的目錄中的htaccess中。這將有助於啓動。 –