Htaccess SEO переписать заставили изображения перестать загружаться? - PullRequest
0 голосов
/ 21 декабря 2011

Я использовал генератор, чтобы сделать мою переписку htaccess дружественной к SEO, вот она.

RewriteRule ^([^/]*)/([^/]*) /detail.php?type=$1&?id=$2 [L]

Вывод должен быть www.site.com/type/id

Теперьперезапись работает и страницы перенаправляются нормально, НО изображения на сайте больше не отображаются, они все испорчены ... :( URL для изображений правильный, но кажется, что он просто больше не хочет загружаться, какая-нибудь помощь?Должно ли быть другое правило перезаписи, чтобы исключить это из других вещей? Если да, то что?

Ответы [ 2 ]

5 голосов
/ 21 декабря 2011

Ваше существующее правило может повлиять на изображения. Чтобы предотвратить это, используйте директиву RewriteCond, которая исключит расширения для изображений и т. Д., На которые влияет правило. При необходимости вы можете добавить другие расширения.

#if its not an image, css, js etc
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|css|js|etc)$ [NC]
RewriteRule ^([^/]*)/([^/]*) /detail.php?type=$1&?id=$2 [L]
2 голосов
/ 21 декабря 2011

Я не уверен, как выглядит ваш .htaccess, но вот удобные правила, которые я использую для своих проектов, он довольно прост и охватывает большинство проблем:

<IfModule mod_rewrite.c>
    ############################################
    # Enable mod_rewrite
    RewriteEngine On
    RewriteBase /

    ############################################
    ## always send 404 on missing files in these folders
    RewriteCond %{REQUEST_URI} !^/(media|assets)/

    ############################################
    # never rewrite for existing files, directories and links
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteRule .*$ index.php [L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...