4

誤って、私のhtaccessスクリプトが画像のURLを変更しているため、URLパスに「portfolio/」が含まれている画像は悪影響を受けます。

その特定のルールから画像を除外する方法はありますか?

redirect 301 "/sitemap.xml" http://www.example.com/sitemap.php

RewriteEngine On

RewriteCond %{REQUEST_URI} !portfolio/project
RewriteCond %{REQUEST_URI} /.*portfolio/.*$ [NC]
RewriteRule ^(.*)portfolio(.*)$ /$1portfolio/project$2 [R=301,L]

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/sitemap.php
RewriteRule ^(.*)$ /index.php/$1 [L]
4

2 に答える 2

7

最初の部分 (最初の書き換えルール) を試す

RewriteCond %{REQUEST_URI} !portfolio/project
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_URI} /.*portfolio/.*$ [NC]
RewriteRule ^(.*)portfolio(.*)$ /$1portfolio/project$2 [R=301,L]

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]2 番目の rewriterule で使用する理由がわかりません。

RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png)$ [NC]許可された画像拡張子の一部で終わる URL のポートフォリオをポートフォリオ/プロジェクトに変更したくないことを意味します。[NC](大文字と小文字を区別しない) は、JPG、GIF、PnG などの拡張子もスキップするために使用されます。

于 2012-09-26T17:01:31.090 に答える