htaccess add 301 навсегда перемещен в RewriteRule - PullRequest
0 голосов
/ 20 января 2011

У меня есть это правило в моем файле .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php

что он делает, чтобы перенаправить все URL-адреса index.php? Somevar = # в index.php, однако, когда он перенаправляет, отправляет код 302, и я хочу, чтобы он был 301.

Я пытался добавить [R=301] после RewriteRule . /index.php, но это не работает.

Нужна помощь: -)

1 Ответ

2 голосов
/ 03 мая 2011

Эта вещь не делает то, что вы описываете. Ваше правило отправляет каждый запрос к несуществующим файлам index.php. URL:

index.php?anything

уже звонит index.php. Вам не нужно никакой магии переписывания, чтобы справиться с этим.

Также ...

<del>RewriteRule . /index.php
</del>

это плохая практика. Это не доставляет вам проблем сейчас, но может и в будущем, когда вы измените правила. Вы бы предпочли использовать:

RewriteRule .* /index.php
...