也許有人可以幫忙。我嘗試重定向:重定向(htaccess)example.com/myproject到另一個子文件夾,但保持原來的url
www.example.com/myproject
到
www.example.com/projects/myproject
,但我想,原來保存的網址。
我現在的文件樹:
「/」 網絡空間根
「/網站」 這個目錄將被輸入www.example.com
「/網站/項目/ MyProject的叫「在這個文件夾中,我想重定向用戶,如果他們輸入的url字段」www.example.com/myproject「
我試過
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com/myproject$ [NC]
RewriteRule^http://example.com/projects/myproject%{REQUEST_URI} [R=301,L]
如果我打電話給「http://example.com/projects/myproject」,它將起作用。但不是「http://example.com/myproject」。
參數也應該使用像「?site = register」之類的原始URL。
編輯
我現在已經找到了解決自己:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^myproject/?$ /projects/myproject/%1 [QSA,L]
</IfModule>
這工作得很好,並保留原始URL。
有一件事。可以匹配文件調用嗎?意思是:
工作網址:example.com/projects/myproject/css/main.css 通緝URL上述RewriteCondition:example.com/myproject/css/main.css
目前,它只能說明我index.php,但在URL中也保留「/myproject/css/main.css」。我想調用這個文件。同樣的js,pdf,less等等。
嘿。它不工作: - /只是扔了一個404.我把RewriteRule改成了'RewriteRule^myproject /?$/projects/myproject [R = 301,L,QSA]',現在它可以工作,但不能保持原始URL。你能幫我嗎? – user6534746
我現在發現了一個解決方案。你能檢查編輯的問題嗎? – user6534746
我編輯了我的答案,確實有一個錯字:-)基本上,您需要在重寫規則的左側使用括號來指定'%1'指的是什麼。 – Capsule