Спасибо всем, кто помог мне с моим чистым URL-квестом. Я почти на месте, но хочу лизнуть эту последнюю вещь.
.htaccess
RewriteEngine on
#REMOVE THIS LINE ON SITE LAUNCH!
RewriteBase /~accountName/
#Hide .php extensions for cleaner URLS
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
#calendar-expanded REST-ful URLs
RewriteRule ^calendar-expanded(/.*)?$ calendar-expanded.php$1 [L]
Options All -Indexes
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
# propagate php.ini file to all sub-directories
suPHP_ConfigPath /home/accountName/public_html/php.ini
мой рабочий URL
www.example.com/calendar-expanded/4/mother-mother-in-concert/
битый URL
www.example.com/calendar/12/another-band-live/
Модификации для calendar/
не существует. У меня вопрос: нужно ли абсолютно правило для каждой страницы, чтобы избежать внутренних ошибок сервера, если кто-то случайно заходит на неправильную страницу? Неработающий URL является примером этого. Я бы очень хотел, чтобы браузер вместо этого выдал ошибку 404.
Я ищу условие / правило, которое будет охватывать "все остальные" URL-адреса, кроме calendar-expanded
. Это выполнимо?
Спасибо. (@Gumbo Я надеюсь, что вы смотрите в вашу сторону!)