Возможно, я пытаюсь зайти слишком далеко, но здесь все равно.
В основном я ищу следующее:
- 301 перенаправляет каждый базовый URL-адрес на http://www.mydomain.com/ некоторые страницы являются https, он должен распознавать это и продолжать использовать https там, где ужеиспользуется / запрошено
- 301 перенаправить любые косые черты, т. е. http://www.mydomain.com/page/ становится http://www.mydomain.com/page (у меня уже есть строка кода, которая находит страницу index.php - этот сайт построен наCodeigniter)
- I Я не хочу, чтобы базовый URL-адрес удалял косую черту, это единственный раз, когда косая черта должна быть оставлена позади
- Найти все экземпляры индекса.php (в передней средней или в конце URL) и 301 перенаправляют их
- 301 перенаправляют любое использованиемоего ip-адреса к фактическому домену
Вот что у меня такдалеко в моем файле htaccess в моем корневом каталоге:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} ^(.*)(/index\.php)$
RewriteRule ^(.*)index\.php/$ http://www.mydomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(mydomain\.com)(:80)? [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^11\.11\.111\.111$
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
#This makes sure that the server actually finds the index file although its not in the url
RewriteCond $1 !^(index\.php|images|assets|downloads|css|js|robots\.txt)
RewriteRule ^(.*)$ /index\.php/$1 [L]
Я застрял прямо сейчас, любая помощь будеточень признателен !!
Редакции !!
Я добился определенного прогресса и вот что у меня получилось
<IfModule mod_rewrite.c>
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^GET\ /.*/index\.(php|html)\ HTTP
RewriteRule (.*)index\.(php|html)$ /$1 [r=301,L]
# index.php to / at the base url
RewriteCond %{THE_REQUEST} ^GET\ /index\.(php|html)\ HTTP
RewriteRule (.*)index\.(php|html)$ /$1 [r=301,L]
# force www.
rewritecond %{HTTP_HOST} ^paolienvelope.com [nc]
rewriterule ^(.*)$ http://www.paolienvelope.com/$1 [r=301,L]
# force no IP
RewriteCond %{HTTP_HOST} ^70.40.204.154
RewriteRule ^(.*) http://www.paolienvelope.com/$1 [r=301,L]
#codeigniter direct
RewriteCond $1 !^(index\.php|images|assets|downloads|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
Это успешно вынуждает ip к URL-адресу. Удаляет индекс.php или index.html из URL, но правильно указывает на файл индекса, несмотря на то, что базовый URL имеет www.Тем не менее, нет кода для удаления косой черты только из запроса, любая помощь будет оценена !!Спасибо!