1

このリダイレクトが機能しない理由がわかりません。これは、ページをディレクトリにリダイレクトする正しい方法ではありませんか (最後の行を参照)。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]
AddDefaultCharset UTF-8
ErrorDocument 404 /404.html
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
ExpiresActive On
ExpiresDefault "access plus 1 minute"
Redirect 301 /folder/name/main.html‎ /a-nother-folder
4

1 に答える 1

1

mod_rewrite と mod_alias を混在させないでください。コードを次のように変更します。

AddDefaultCharset UTF-8
ErrorDocument 404 /404.html
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
ExpiresActive On
ExpiresDefault "access plus 1 minute"

RewriteEngine On

RewriteRule ^folder/name/main\.html‎$ /a-nother-folder [L,NC,R=301]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

また、別のブラウザでこれをテストしてみてください。

于 2013-09-17T16:54:36.327 に答える