htaccess проблема с именем файла - PullRequest
0 голосов
/ 30 июля 2009

когда я впервые настроил свой сайт, я решил добавить index.html к URL, но теперь у меня возникают проблемы, когда люди удаляют index.html и пытаются получить доступ к папке ...

Например:

RewriteRule ^archives/([0-9]+)/([0-9]+)/index.html archive.php?mid=$1-$2

Так, когда archives/07/2009/ это вызовет ошибку, как я могу избежать этой ошибки? Приветствия

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Попробуйте это правило с необязательным index.html:

RewriteRule ^archives/([0-9]+)/([0-9]+)/(index\.html)?$ archive.php?mid=$1-$2

Но я рекомендую вам придерживаться только одной из двух нотаций, с или без конечного index.html и перенаправить, если неправильно:

# remove index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?index\.html$ /$1 [L,R=301]

# add index.html
RewriteRule (.*)/$ $1/index.html [L,R=301]
0 голосов
/ 30 июля 2009

Сделайте index.html опциональным в вашем RewriteRule:

RewriteRule ^archives/([0-9]+)/([0-9]+)/(?:index\.html)?$ archive.php?mid=$1-$2

Кроме того, в своем первоначальном правиле перезаписи вы забыли конец привязки строки $. Я добавил это выше.

...