0

私は新しいウェブサイトを作成しようとしています。コンテンツは記事として分類されます。タグとカテゴリ リモート Web サーバー上のフォルダーである folder1 と folder2 があります。これらの 2 つのフォルダーには、それぞれ HTML ファイルが含まれる場合があります

私のウェブサイトを閲覧しているすべての人に

1-When he types 
    www.domin.com/folder1/ -->dispaly the index.html file under the folder1 folder

2-When he types www.domin.com/folder1 --> error

3-When he types 
www.domain.com/folder1/file1/ 
            dispaly the /folder1/file1.html file

4-When he types
    www.domain.com/folder/file.html or
    www.domain.com/folder/file 
             dispaly an eror: such file does not exist

実際に私が行ったことはポイントです: 1, 3 以下の .htacces ファイルの内容 (リモート Web サーバーの public_html フォルダーの下)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ http://www.domain.com/$1/ [R=301,L]



#DirectorySlash On
#RewriteEngine On
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^([^\.]+)$ $1.html [NC,L] 
#RewriteRule ^([^\.]+)$ $1.htm [NC,L] 
#RewriteRule ^([^\.]+)$ $1.php [NC,L] 

ポイント2と4に準拠するように.htaccessファイルを変更するのに助けが必要です。どうもありがとう

4

1 に答える 1

1

これを試してください。4つのルールがサポートされているはずです。

RewriteEngine on
RewriteBase /

RewriteRule ^([^/]+)/$ $1/index.html [QSA,L]  # rule 1
RewriteRule ^([^/]+)/([^/]+)/$ $1/$2.html [QSA,L] # rule 3
RewriteRule ^[^/]+(/[^/]+(\.html)?)?$ doesnotexists.html [L] # rule 2 and 4
于 2012-09-04T14:19:25.823 に答える