0

mod_rewrite私はこれに 3 時間費やしましたが、サブドメインの下の共有サーバーで GoDaddy を使用することができないようです。サブディレクトリにアプリがあり、以前は複数のサーバーで同じルールを使用していたので、それらが機能することがわかっています。これが私が持っているものです:

PHP バージョン 5.3.10-1 Ubuntu3.6

subdomain root/
-.htaccess
--appdir/
---.htaccess
----public/
-----.htaccess

サブドメイン root/.htaccess

Options -Multiviews

ドキュメント ルートについては.htaccess以上です。多くの人が GoDaddy サーバーでこれを行うことを提案しています。

appdir/.htaccess

Options -Multiviews

RewriteEngine on
RewriteBase /appdir
RewriteRule    ^$    public/    [L]
RewriteRule    (.*) public/$1    [L]

これにより、すべてのリクエストがappdir/publicディレクトリにルーティングされます

appdir/public/.htaccess

Options -Multiviews

RewriteEngine On
RewriteBase /appdir/public ### also tried just adding /appdir ###
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

ErrorDocument 404 index.php

利用可能であることを確認するために、Bashからmod_rewrite実行sudo a2enmod rewriteし、Apacheを再起動した後にprint_r(apache_get_modules());確認しましたが、問題が何であるかについて完全に途方に暮れていることは言うまでもありません。GoDaddy で似たような経験をしたことがある人はmod_rewriteいますか? 前もって感謝します。

4

1 に答える 1

1

デフォルトのubuntuインストールからmod_rewriteで起動して実行するには、次のことを行う必要があります。

mod 書き換えを有効にする

a2enmod rewrite

次に、サイト構成 (/etc/apache2/sites-available/) でオーバーライドを許可していることを確認AllowOverride Allし、'' ディレクティブの行を更新します。

Apache の設定をリロードする

service apache2 reload
于 2013-05-19T04:15:05.580 に答える