私は自分の .htaccess ファイルでいくつかの異なることをしようとしていますが、それはまだ私にとって少し新しいので、すべてを自分のやりたいようにするのに苦労しています。ここで私が困っているのは...
1) モバイル デバイスが Opera Mini を実行している場合を除き、モバイル デバイス用のモバイル サイトにリダイレクトしたいと考えています。私はそれを解決しようとしましたが、まだ Opera Mini をリダイレクトしています。リダイレクトする必要があるのは次のとおりです(このサイトから取得したコードに基づいています。このコードは機能します)
# Detect if the user is on a mobile device
RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ mobi|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
# If user is mobile, redirect to mobile site, preserving the remainder of the URL
# For example, http://www.triadbarspecials.com/barname redirects to http://m.triadbarspecials.com/barname
RewriteRule ^(.*)$ http://m.triadbarspecials.com/$1 [L,R=302,nc]
そのため、Opera Mini が常にフル Web サイトにリダイレクトされるようにしたかったため、次のコードを追加しました。
# Detect if we're in Opera Mobile
RewriteCond %{HTTP_USER_AGENT} opera\ mini
# If so, make sure user is on the main site
RewriteRule ^(.*)$ http://www.triadbarspecials.com/$1 [L,R=302,nc]
メインサイトに誘導されない原因となっている何が起こっているのか、誰にもわかりますか?
2) ユーザーが URL の .com/ 部分の後にバーの名前を入力できるようにサイトをセットアップしました。そのバーがサイトに存在する場合、.htaccess はユーザーを正しいページにルーティングします。例えば、triadbarspecials.com/justinsbar is the same as triadbarspecials.com/bars.php?barname=justinsbar
エラー ドキュメントが正しく機能しないという問題があります。ユーザーが自分のサイトに存在しないバーの名前を入力すると、URL は引き続きページに誘導されますが、その名前のバーがないため、動的コンテンツは表示されません。triadbarspecials.com/
ユーザーは、入力した URL が存在しない限り、入力したすべてのページにも誘導されます。これが私が持っているコードです...
# The following allows for URL's to be typed as just the bar's name
# for example, http://www.triadbarspecials.com/bars.php?barname=barname is changed to http://www.triadbarspecials.com/barname
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ bars.php?barname=$1 [L]
このコードは一般化されているように見えるので、うまくいけば、誰かがこれを補強し、物事を適切にリダイレクトするのを手伝ってくれることを願っています. これが私がエラードキュメントのために持っているものです
ErrorDocument 400 /error.php?error=400
ErrorDocument 401 /error.php?error=401
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500
3) .htaccess ファイルにこのコードがありますが、それが何をするのか完全に忘れてしまいました。ただ削除したくないので、誰かがそれが何をするのか説明できることを願っています...
RewriteCond %{HTTP_HOST} ^triadbarspecials.com[nc]
RewriteRule ^(.*)$ http:#www.triadbarspecials.com/$1 [r=301,nc]
助けていただける方、よろしくお願いします!