Я удалил расширения файлов на .php для моего веб-сервера. Я просто хотел сделать это лучше. Это отлично работает..htaccess удалить расширение, но разрешить 404, если не существует
У меня есть следующие страницы: sitename.com/portfolio sitename.com/portfolio/resume/file.html
Htaccess имеет свои правила, так что, когда они посещают по второй ссылке его просто преобразовать его в портфель .php? resume & file = $ 1. Это работает потрясающе.
Хорошо, проблема. Поскольку я удаляю расширения, если пользователь должен был указать домен как sitename.com/ портфолио/ с косой чертой, они получат внутреннюю ошибку сервера. Аналогично, если они просто набирают sitename.com/portfolio/r, они также получают ошибку, так как она не существует. Я знаю, что один из способов заключается в том, чтобы добавить параметр в htacess для каждой страницы, но это похоже на плохой способ сделать это.
В любом случае здесь текущий файл htacess Я использую:
Options +FollowSymlinks
RewriteEngine On
RewriteBase/
RewriteRule ^portfolio/resumes/([^/]+).html$ /portfolio.php?resume&file=$1 [L,QSA]
RewriteRule ^portfolio/resumes$ /portfolio.php?resumes [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /$1.php [L]
ErrorDocument 404 /404.php
Если я посетить сайт на странице, которая не суммируется и не существует как sitename.com/1 или sitename.com/1.php тогда я получаю мой 404, но если 1.php DID существует, я бы увидел это, и если бы он действительно существовал, и я набрал sitename.com/1/ или sitename.com/1/somethingelse, а вместо 404 (что я ожидаю), тогда дает мне внутреннюю ошибку сервера. Есть ли способ обойти это? ошибка в моем синтаксисе? Благодаря
Большое спасибо! :) – Kaboom