0

私の.htaccessには、このURL http://www.example.com/contact.htmlでindex.php?pname = contactを呼び出すために、次のコードが含まれています。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)\.html$ ?pname=$1 [L,QSA]

</IfModule>

次のコードを追加して、このURL(http://www.example.com/contact/)でも機能するようにしました。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*?([^\.\/]*)/?$ ?pname=$1 [L,QSA]

連絡先ページに複数のURLからアクセスできるようにしたくありません。www.example.com/contact.htmlとwww.example.com/contactの両方がwww.example.com/contact/にリダイレクトされるように、301リダイレクトを含めるにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

0

これを .htaccess で使用できます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)\.html$ /$1/ [L,QSA,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*?([^\.\/]*)$ /$1/ [L,QSA,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*?([^\.\/]*)/$ ?pname=$1 [L,QSA]

R オプションはリダイレクトを行います。

于 2012-12-18T16:36:17.277 に答える