В настоящее время у меня это настроено в моем .httaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(php|html|txt|js|css|png|jpe?g|gif|svg|woff|ico|csv|xml|pdf|gzip)
RewriteCond %{REQUEST_URI} !^/?$
RewriteRule (.*) /$1.php [L,R=301]
поэтому в основном я перенаправляю все URL-адреса, не имеющие расширений, на страницы php.
например я перенаправляю /test
к /test.php
и я бросаю 301, пока я это делаю.
Я бы хотел сначала бросить 404 на /test
и сразу после того, как бросить 301 и перенаправить на /test.php
.
Можно ли что-то написать либо в .htaccess
или в apache .conf
файлы для этого?
сначала бросьте 404 на «/ test» и сразу после бросьте 301 и перенаправьте на «/test.php».
Вы не можете этого сделать - независимо от того, какой метод вы используете (.htaccess
, Apache, PHP и т. Д.). HTTP работает не так. (Но я не уверен, почему вы хотите это сделать - контент либо не существует, либо был перемещен, не может быть и того, и другого.)
/test
На любой отдельный запрос вы получаете один ответ - один код состояния.