.htaccess, правильная перезапись каталога и файла с тем же именем
На данный момент у моего сайта есть несколько статических страниц, одна из которых - / портфолио. Помимо прочего, мой htaccess скрывает расширение .html. Я хотел бы добавить каталог портфолио, но я не хочу перемещать свою существующую страницу портфолио в каталог портфолио в качестве файла индекса по умолчанию. Моя страница / портфолио является одной из моих дополнительных ссылок Google, и я боюсь, что если она будет перемещена или URL-адрес изменится каким-либо образом, Google сочтет ее новой страницей.
Моя проблема заключается в том, что, когда я добавляю каталог / portfolio /, всякий раз, когда я пытаюсь зайти на страницу исходного / портфолио, автоматически добавляется завершающий слеш, который связывается с самим каталогом.
Я пробовал бесчисленное множество вариантов, один из которых был переписан на / портфолио / к / портфолио, однако это создает бесконечный цикл. Я также попробовал «DirectorySlash Off», но он только удалял косую черту, находясь внутри каталога, но не возвращал доступ к исходной странице / портфолио.
В конечном счете, я хотел бы сохранить свою страницу / портфолио без изменений, ссылаясь на страницы внутри каталога, как, например, / портфолио / пример, и при обращении к / портфолио или / портфолио / будет отображаться та же страница, которая находится за пределами каталог без Google, думая, что это дублированный контент.
Подобный вопрос существует здесь:.htaccess переписывает URL на страницу или каталог хотя по какой-то причине это все-таки привело к бесконечному циклу, я думаю, это как-то связано со скрытыми расширениями.
Вот мой htaccess-
RewriteEngine On # HTML to PHP RemoveHandler .html .htm AddType application/x-httpd-php .htm .html # Hide extension RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html # Force WWW RewriteCond %{HTTP_HOST} ^mydomain\.net RewriteRule ^(.*)$ http://www.mydomain.net/$1 [R=301,L] # Blog Subdomain RewriteCond %{HTTP_HOST} ^blog.mydomain.net$ RewriteRule ^(.*)$ http://www.mydomain.net/blog/$1 [R=301,L]
Я знаю, что не очень хорошая идея иметь каталог с тем же именем, что и у статической страницы, но я действительно предпочел бы не изменять существующую страницу и не терять ссылку на сайт Google, так что чистый и правильный способ справиться с этим мог бы помочь.