2

1 つまたは 2 つの変数を必要とするサイトを読み込むには、書き換えルールが必要です。

次のように呼び出してサイトにアクセスする必要があります。

blubb.com/user123
blubb.com/user123/

に書き換える必要があります/profile.php?username=user123

blubb.com/user123/photos
blubb.com/user123/photos/

に書き換える必要があります/profile.php?username=user123&site=photos

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ /profile.php?username=$1&site=$2 [NC]

blubb.com/user123/上記のルールを使用すると、呼び出しblubb.com/user123/photosが機能しますが、他の2つは機能しません。

4

2 に答える 2

1

Touは、実際には、末尾にスラッシュが付いたURLをスラッシュなしの同じURLにリダイレクトする必要があります(別の書き換えで)。両方が同じコンテンツを提供する場合、Googleはそれをコンテンツの希薄化と見なし、ペナルティを科します。

これはそれを行うべきです:

# Redirect trailing slash to no trailing slash for Google:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,QSA,R=301]

# Route appropriately
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?(.*)$ /profile.php?username=$1&site=$2 [NC,QSA]
于 2012-12-07T19:33:25.367 に答える
0
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)(/([0-9A-Za-z]*)/?$ /profile.php?username=$1&site=$3 [NC]
于 2012-12-07T19:34:45.710 に答える