0

最近、ウェブサイトのモバイル バージョンを作成し、モバイル バージョンにリダイレクトしました。モバイル版は私のルートのサブドメイン (フォルダー) にあります。リダイレクトは、ルート内のすべてのファイルのヘッダーにある php スクリプトを介して行われ、これまでのところindex.php動作しています。

ここで、ルールを追加する必要があるhtaccessため、通常のルートのすべての URL も機能し、サブドメイン フォルダーで同じ構造を維持します。

www.mysite.comモバイルの場合はm.mysite.com

サイト内の URL 構造:

    For desktop following urls and files out of root
www.mysite.com/basisscholen/
www.mysite.com/middelbaar-onderwijs/
www.mysite.com/hbo-universiteit/
www.mysite.com/basisscholen/plaats/m/
www.mysite.com/middelbaar-onderwijs/plaats/m/
www.mysite.com/hbo-universiteit/plaats/m/
www.mysite.com/basisscholen/plaats/m/miami/
www.mysite.com/basisscholen/plaats/m/miami/myschool/

For desktop following urls and files out of folder (m) so that different css can be used:
m.mysite.com/basisscholen/
m.mysite.com/middelbaar-onderwijs/
m.mysite.com/hbo-universiteit/
m.mysite.com/basisscholen/plaats/m/
m.mysite.com/middelbaar-onderwijs/plaats/m/
m.mysite.com/hbo-universiteit/plaats/m/
m.mysite.com/basisscholen/plaats/m/miami/
m.mysite.com/basisscholen/plaats/m/miami/myschool/

通常のデスクトップ バージョンの htacces ルールは次のとおりです。

    RewriteEngine On

RewriteCond %{HTTP_HOST} !^m\.
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
RewriteRule ^ xx-xxxx%{REQUEST_URI} [L,NC,R=302]



RewriteRule ^\.html$ /index.php
RewriteRule ^basisscholen/$ basisscholen.php?id=basisscholen [L]
RewriteRule ^middelbaar-onderwijs/$ middelbaar-onderwijs.php?id=middelbaar-onderwijs [L]
RewriteRule ^hbo-universiteit/$ hbo-universiteit.php?id=middelbaar-onderwijs [L]

RewriteRule ^basisscholen/plaats/([A-Za-z0-9-]+)/?$ basisscholen.php?letter=$1 [L,B]
RewriteRule ^middelbaar-onderwijs/plaats/([A-Za-z0-9-]+)/?$ middelbaar-onderwijs.php?letter=$1 [L,B]
RewriteRule ^hbo-universiteit/plaats/([A-Za-z0-9-]+)/?$ hbo-universiteit.php?letter=$1 [L,B]


RewriteRule ^([^/]+)/plaats/([^/]+)/([^/]+)/?$ plaats.php?type=$1&letter=$2&link=$3 [L,B]
RewriteRule ^([^/]+)/plaats/([^/]+)/([^/]+)/([^/]+)/?$ school.php?type=$1&letter=$2&plaatsnaam=$3&schoolnaam=$4 [L,B]

私が必要としているのは、サブドメインの URL 構造をメイン サイトとまったく同じように機能させるための htacces ルールのあり方です。多くの白い画面が表示されたり、アクセスが禁止されたり、すべての URL がサブドメインに書き換えられたりしました。

また、他のトピックから多くの提案を試みましたが、誰か助けてもらえますか?

コル

4

3 に答える 3

0

Solved the problem temporarely this way:

Removed subdomain from direct admin cleaned conf file in vhost.

Created a domain on server as subdomain >> m.my-domain.com

Then uploaded the mobile version + a htacces file without the mobile rules.

Uploaded a php redirect script in the desktop version.

I know its not the right way, but the site works.

will post this problem also on direct admin forum to find out why the vhost conf did not accept the solution you suggested.

于 2013-10-24T10:50:52.970 に答える
0
    Options +FollowSymlinks

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^example.com
  RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

  RewriteCond $1 !^(?:static|install)(?:/.*)?$
  RewriteRule ^(.*)$ index.php?ORIGINAL_URI=$1 [QSA

  RewriteCond %{HTTP_HOST} !^m.example.com$
  RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
  RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-) [NC]
  RewriteRule ^(.*)$ http://m.example.com/$1 [R=302,L]
</IfModule>

このようなものだと思いますか?

(example.com をあなたのサイトに変更してください)

于 2014-09-01T06:06:58.763 に答える