私はすべてのプロジェクトに独自のURLがあり、username = 'foo'の場合、URLはhttp://website.com/fooとなります。私はhtaccessに慣れていませんが、私はそれを大部分は機能させることができました。しかし、私は今誰かがhttp://website.com/subdomain/fooを入力するときに問題に遭遇しています。これで現在はユーザー名を見つけてページを表示しようとしていますが、私はそれを動作させたくなく、404ページを表示したいと思っています。またMod_rewriteはユーザーに独自のURLを与えて、いくつかのケースを除外する必要があります
、上のいくつかのサブドメインの(すなわち程度)私たちは、このような「ourstory.php」などの他のページを持っています。私はabout/ourstory.phpではなくabout/ourstoryを表示したいのですが、選択されたサブドメインに対してのみ表示したいと思います。構造「website.com/subdomain/subdomain」を有する場合、絶対パスが使用されている場合でも、他のPHPファイルを必要とする場合
最後に、それは内部サーバーエラーを生成します。
はここに私の現在のmod_rewriteのですが、私は、私はおそらくいくつかの初心者のミスを作ったあなたは、私がやると、最適化して自由に感じるしようとするかを理解することができます願っています。
このmod書き換えは、次の3つを行います。
1.アドレスの 'www'を削除します。
2. 2番目のページでは、ホームページを入力するだけでホームページに移動します(これを削除すると何らかの理由でホームページが空になることがあります)。
3名がサブドメインではないこと型付けされた場合は、プロフィールページにリダイレクトして、URLにユーザー名になります。
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/$ http://website.com/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
RewriteRule ^(.{5,16})$ profile.php?scrname=$1
RewriteRule ^(.+)(\.php|\.html)/$ /$1$2 [R=301,L]
</IfModule>
また、何か助けに感謝します。
ありがとうございました。サブドメインを使用した場合にこのような方法を使用できます。 たとえば、URLを取得してサブドメインが含まれているかどうかを確認し、そうでない場合はユーザーの代わりに状態ページが見つからないか、ユーザーページを表示します。 しかし、それは特定のサブディレクトリファイルでの.phpの削除やサブサブディレクトリでの問題を解決するものではありません。 PS:私はサブディレクトリを意味していたのですが、何度か「サブドメイン」という言葉を使いましたが、混乱して申し訳ありません。 –