1

私は開発の世界の新参者です。私は必死に良い URL を取得しようとします。サイトで同様の問題を確認しましたが、必要なものが正確に見つかりません。または私はそれをひどくします。

状況は次のとおりです: index.php ファイルが Public という名前のフォルダーにあるサイトのプロジェクトをセットアップしました。

より明確にするために、構築したサイトのホームページにアクセスするための URL を次に示します: http:// Domain Name.com/ Folder / Name of the site/public

私の懸念は、Public フォルダーに関するものです。URL に表示したくありません。取得したい URL は次のとおりです: http:// ドメイン名.com/ フォルダー / サイトの名前

実際、この URL では、"Public" フォルダーに配置されたインデックス ファイルを取得できるようにしてほしいと思います。

Apache 構成 (共有ホスト) にアクセスできないため、プロジェクトに .htaccess を配置しました (例: www/ Folder /Name of the site /.htaccess )。その内容は次のとおりです。

Options -Indexes +FollowSymLinks +Multiviews
RewriteEngine On
RewriteBase /public/
RewriteRule ^(.*)$ index.html [NC,L]

いろいろ試しても効率のいい結果が得られなかったので、今はとてもシンプルなものにしました。

4

1 に答える 1

1

何をしようとしているのかよくわかりませんが/public/、URL に表示されるパスを削除したい場合は、すべてのリンクからパスを削除する必要があります。に対してリクエストが行われたときにブラウザを外部的にリダイレクトするルールがある場合は、/public/パブリックを指すようにリクエストを内部的に書き換える必要があります。

Options -Indexes +FollowSymLinks -Multiviews
RewriteEngine On

# externally redirect, must match against %{THE_REQUEST}
RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /public/
RewriteRule ^/?public/(.*)$ /$1 [L,R=301]

# internally rewrite it back, but we must first check that it's pointing to a valid resource:
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -s
RewriteRule ^(.*)$ /public/$1 [L]
于 2012-10-31T23:17:13.653 に答える