2

.htmlWebサイトで拡張機能を非表示にするのに問題があります。ApacheV.2.2.22を搭載したWampServerで実行しています。 rewrite_moduleがアクティブで、httpd.confファイルを次のように変更しましたAllowOverride all

これは私が知っている唯一のhtaccessファイルであり、これがすべて含まれています...

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R=301,L,NC]
</IfModule>

それは機能していません、そして私は理由がわかりません...ここに私のhttpd.confファイルがあります

DocumentRoot "c:/wamp/www/"

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
</Directory>

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all

#   onlineoffline tag - don't remove
    Order Allow,Deny
    Allow from all

</Directory>

これが私が.htaccessファイルを置いた場所です...

E:\wamp\www\DesktopVersion\.htaccess

これが機能しない理由についての提案は素晴らしいでしょう!

編集:明確にするためにこれは使用する正しい.htaccessコードです...'anubhava'の補完

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [L]
</IfModule>
4

1 に答える 1

4

このコードを.htaccessに追加する必要があります。

# To externally redirect /dir/foo.html to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R=301,L]

# To internally forward /dir/foo to /dir/foo.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [L]
于 2013-02-22T18:10:16.643 に答える