0

.htaccessファイルに次のような書き換えがあります(file / var名を変更しましたが、基本的に同じです)。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/\.]+)/pageno=([^/\.]+)?$ page.php?slug=$1&pageno=$2

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/\.]+)/?$ page.php?slug=$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/\.]+)/([^/\.]+)/pageno=([^/\.]+)?$ page.php?slug=$1&something=$2&pageno=$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/\.]+)/([^/\.]+)/?$ page.php?slug=$1&something=$2

www.mydomain.com/page/somethingなどの書き換えられたURLのいずれかにアクセスすると、page.php?slug = somethingの正しいコンテンツが、古いバージョンのInternet Explorerを除くほとんどのブラウザに表示されますが、実際の問題は書き直されたURLは404ヘッダーコードを返します(おそらく、一部のブラウザーがコンテンツを表示しない理由と、他のブラウザーがコンテンツを表示することを選択する理由)。

動作し、200個のOKヘッダーを返すように見える他の書き換えがあります。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)-some-page-([^/\.]+).html?$ some-page.php?pageno=$2&myvar=$1

私が見ることができる唯一の違いは、上記の書き直しには偽の.html拡張子が含まれているため、これが別の方法で処理されているかどうかわからないことです。

どんな助けでも大歓迎です!

どうもありがとう

4

1 に答える 1