0

私はこれに何日も立ち往生しています。私はどこかでそれを間違っていると思いますが、私はそれを私の人生のために働かせることができません。

私はcodeigniterを使用していて、通常のページを次のように書き直そうとしています。

website.com/folder/page.html using RewriteRule ^(.*)$ index.php/$1 [L]

これは機能しますが、私はそれを書き直さないようにしようとしていwebsite.com/folder/admin/ folderます。

しかし、私が私のフォローを使用するとき、私はそれを機能させますが、それはそれを適用します

website.com/folder/page

website.com/folder/page.html

欲しくない私だけが欲しい.html

<IfModule mod_rewrite.c>

RewriteEngine On
Options +FollowSymlinks
RewriteBase /folder/

# Don't rewrite admin urls
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^admin/
RewriteRule ^(.*)$ index.php/$1 [L,NC]

#Adds .html to urls without it
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^admin/
RewriteCond %{REQUEST_URI} !\.html
RewriteRule ^(.+)$ $1\.html [L]

#RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L] 

</IfModule>
4

1 に答える 1

1

照合する%{REQUEST_URI}変数はベース()を監視しないため、/folder/条件で照合する必要があります。したがって、代わりに:

RewriteCond %{REQUEST_URI} !^admin/

次のようなものが必要です(先頭のスラッシュに注意してください):

RewriteCond %{REQUEST_URI} !^/folder/admin/

または単に捨てる^

RewriteCond %{REQUEST_URI} !/admin/
于 2012-12-23T09:01:25.047 に答える