1

古い W​​eb サイトをアップグレードしたので、古いページをすべて新しいページにリダイレクトしたいと考えていました。古い W​​eb サイトでは、インデックス ページとクエリ文字列を使用して、関連するコンテンツを提供していました。

これが新しい htaccess ファイルです。問題は、リダイレクトを機能させることです。また、このファイルをスチームライン化できる場合:

Options +FollowSymLinks
Options +Indexes
RewriteEngine on
RewriteBase /

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

#if its not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#and it has a trailing slash then redirect to URL without slash
RewriteRule ^(.+)/$ /$1 [L,R=301]

#this removes php extention
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

# stops you accessing url with.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^.?\ ]+)\.php
RewriteRule ^([^.]+)\.php(/.+)?$ /$1%{PATH_INFO} [R=301]

RewriteRule ^news/([^/]*)/([^/]*)$ /news?id=$1&title=$2 [L]

Redirect 301 index?page=about http://domain.co.uk/about

ErrorDocument 404 http://domain.co.uk/404
4

1 に答える 1

0

domain.com/index.php?page=about を domain.com/about にリダイレクトするための適切なルールは次のとおりです。

RewriteRule ^index\.php$ %{QUERY_STRING} [C]
RewriteRule page=(.*) /$1? [R=301,L]
于 2012-10-22T09:37:29.757 に答える