1

こんにちは、私は URL の書き換えに関する大きな問題です。どこかで見たことがあるかもしれませんが、ご容赦ください。

ここで問題

たとえば、URL を入力した場合、exampl.x10.mxまたはwww.example.x10.mx発生しないはずの 403 エラーが表示される

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

それを大事にするかもしれません。

RewriteCond %{REQUEST_URI} !^lwh/

RewriteCond $1 !^lwh/

上記のコードは、lwh フォルダーを非表示にします。

完全な .htaccess コード

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} !^lwh/
RewriteCond $1 !^lwh/
RewriteCond %{HTTP_HOST} ^example.x10.mx [NC]

RewriteRule (.*) /lwh/main/pages/general/$1 [L]
RewriteRule ^(.*)$ lwh/$1 [L]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=301,L]

問題のまとめ 思い出せば

  RewriteCond %{REQUEST_URI} !^lwh/
    RewriteRule ^(.*)$ lwh/$1 [L]

以下のコードは機能し、以下のコードを覚えていれば同じことが起こります。問題は、両方が必要だということです。

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

なぜこれが起こっているのか考えてください

4

2 に答える 2

1

問題は R=301 (新しい URL への永続的なリダイレクト) にありました

RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=302,L]

RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [L]
于 2013-07-22T21:57:26.607 に答える
1

.htaccess を次のコードに置き換えます。

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} ^example\.x10\.mx$ [NC]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=302,L]

RewriteCond %{REQUEST_URI} !^/lwh/
RewriteCond %{HTTP_HOST} ^example\.x10\.mx$ [NC]
RewriteRule ^(.*)$ /lwh/main/pages/general/$1 [L]
于 2013-07-22T19:59:00.177 に答える