Я отключил просмотр каталога в моем файле .htaccess, и недавно я изменил индексную страницу по умолчанию, которая работает. Но теперь, когда я просматриваю: domain.com/images/, это должно дать мне 403 запрещенную ошибку, но она просто идет на индексную страницу '/en/index.php' себя.403 не работает после изменения DirectoryIndex
#Turn rewrite engine on
RewriteEngine on
#Disable directory browsing
Options -Indexes
#Default index page
DirectoryIndex /en/index.php
ErrorDocument 404 /error.php
#Add trailing slash
RewriteCond %{REQUEST_URI} !\.[^./]+$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*) /$1/ [R=301,L]
#Remove trailing slash
RewriteCond %{REQUEST_URI} !^/en/$
RewriteCond %{REQUEST_URI} !^/fr/$
RewriteCond %{REQUEST_URI} !^/images/$
RewriteCond %{REQUEST_URI} !^/includes/$
RewriteCond %{REQUEST_URI} !^/stylesheets/$
RewriteRule ^/$ /$1 [R=301,L]
#Redirect non-www to www
RewriteCond %{HTTP_HOST} \.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
#Add trailing slash
RewriteCond %{REQUEST_URI} !\.[^./]+$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*) /$1/ [R=301,L]
#English
RewriteRule ^what-is-minecraft/$ /en/what-is-minecraft.php [NC,L]
RewriteRule ^getting-started/$ /en/getting-started.php [NC,L]
RewriteRule ^mods/$ /en/mods.php [NC,L]
RewriteRule ^best-mods/$ /en/best-mods.php [NC,L]
RewriteRule ^terms-of-service/$ terms-of-service.php [NC,L]
RewriteRule ^privacy-policy/$ privacy-policy.php [NC,L]
#French
RewriteRule ^fr/cest-quoi-minecraft/$ /fr/cest-quoi-minecraft.php [NC,L]
RewriteRule ^fr/demarrage/$ /fr/demarrage.php [NC,L]
RewriteRule ^fr/mods/$ /fr/mods.php [NC,L]
RewriteRule ^fr/meilleurs-mods/$ /fr/meilleurs-mods.php [NC,L]
RewriteRule ^fr/$ /fr/index.php [NC,L]
Может кто-нибудь выяснить, в чем проблема?
EDIT: Отправленный мой полный код .htaccess.
Большое вам спасибо! Это работает как шарм и делает именно то, что я хочу, чтобы он делал это с меньшим количеством кода. Один вопрос, однако, я не вижу, где вы указали DirectoryIndex в своем коде? Кроме того, для всех URL-адресов должна быть добавлена косая черта, чтобы у меня не было повторяющихся URL-адресов./что-нибудь должно пойти в/anything /, если что-нибудь. php существует. –
@KidDiamond '/ что-нибудь должно идти в/ничего /, если что-нибудь есть. Php существует 'да, потому что у меня есть конечная косая черта в правиле'^(. +?) /? $ 'Как необязательная. Возможно, у вашего сервера хостинга есть 'index.php' по умолчанию, поэтому вам не нужно его указывать. – Prix
А, я вижу. Но при правильной проверке я обнаружил, что ваш код на самом деле не работает должным образом. Мои файлы содержимого хранятся в domain.com/en/ и domain.com/fr/. С вашим кодом, когда я посещаю любую из моих страниц, он дает мне ошибку 404. Единственное, что работает, это мой корень domain.com. –