次のシナリオは可能ですか?それを共有ホスティング環境でアーカイブするにはどうすればよいですか?
私はWordpressインストールがあり、たとえば、
/httpdocs/wordpress
私のドメインはこのフォルダを指しています。だから
http://example.com
結果はWordpressページになります。次に、2つ目のシステムを追加したいのですが、Wordpressを汚染したくないので、外部に保存したいと思います。このフォルダ。引き続きアクセスできるようにしたい
http://example.com/other-system
のファイルシステムに存在していても
/httpdocs/other-system
ではなく
/httpdocs/wordpress/other-system
それは可能ですか?私は意味がありますか?ありがとう!
私はあなたが欲しいものは
Alias /other-system /httpdocs/other-system
エイリアス を参照してください。 .htaccessでは、代わりに次を使用できます
RewriteEngine on
RewriteRule ^/other-system/(.*) /httpdocs/other-system/$1 [QSA]
私の知る限り、.htaccessファイルでRewriteRuleを使用してDocumentRootから移動することはできません。これは、このDocumentRootが常に書き換えられたURLの先頭に追加されるためです。
各アプリをDocumentRootの下の個別のフォルダーに配置することをお勧めします。たとえば、DocRoot/wordpressとDocRoot/otherを使用します。
今あなたがのような素敵なURLが必要な場合
www.example.com => wordpress app
www.example.com/other => the other-system app
また、www.example.com/wordpress
のようなURLがwww.example.com
にリダイレクトされるようにしたい場合は、.htaccessファイルで次のようなものを使用できます。
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} !=""
RewriteRule . - [L]
RewriteCond %{REQUEST_URI} ^/other/(.*)?$
RewriteRule . - [L]
RewriteBase /
RewriteCond %{REQUEST_URI} ^/wordpress/.*$
RewriteRule ^wordpress/(.*)$ $1 [R=301,L]
RewriteCond %{REQUEST_URI} !^/wordpress/.*$
RewriteRule ^(.*)$ /wordpress/$1 [L]
2番目の書き換えルールは他のアプリと一致し、このパスの最後の書き換えとして設定するだけです。
3回目の書き換えにより、example.com/wordpressからexample.comへの永続的なリダイレクトが行われます。
これで、最初のルールも何もしませんが、リダイレクトが前のパスで何かに設定されている場合、それは停止します。これにより、無限のリダイレクトループが回避されます。
最後の書き換えでは、内部的にすべてがwordpressフォルダーにリダイレクトされます。ブラウザーのURLは、wordpressフォルダーがないままです。
それがあなたのアプリで動作するかどうか知りたいのですが...それがあなたをさらに前進させることを願っています。