дополнительная косая черта после удаления index.php использование htaccess

#php #.htaccess #codeigniter

#php #.htaccess #codeigniter

Вопрос:

Я получаю дополнительную косую черту после имени домена, например http://localhost/folder//project/list_all

Ниже приведен код htaccess, используемый для удаления index.php из URL-адреса, который я использую codeigniter

 RewriteEngine On

RewriteRule ^index.php/(.*)$ /$1 [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
  

Именно после приведенного выше кода добавляется дополнительная косая черта.

Как я могу с этим разобраться?

 //full code

controller/project

public function list_all() {
  //code....
)
//----------------------------

routes.php

$route['default_controller'] = 'home';
//--------------------------------

config.php
$config['base_url'] = 'http://localhost:8080/folder';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
//--------------------------------------------------

//controller home.php 
public function home() {
   //call model load data
   //call view
}
  

Комментарии:

1. RewriteRule ^index.php/(.*)$ повлияет только на URL, который начинается с /index.php/ , где находится ваш .htaccess locared?

Ответ №1:

Ваш код кажется каким-то дважды, попробуйте это:

 <IfModule mod_rewrite.c>

    RewriteEngine on

    # Send request via index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>
  

Ваш htaccess должен находиться там, где находится ваш индексный файл

Комментарии:

1. Спасибо за ответ, я поместил ваш код.. Он по-прежнему дает двойные косые черты

2. что я должен сделать, чтобы это исправить?

3. Тогда ваша проблема где-то в другом месте. Есть ли у вас ссылка на ‘folder` в вашем $config[] ? Если вы можете опубликовать какой-нибудь код, где я смогу увидеть, как вы это собираете url , возможно, я смогу прийти к решению.

4. Я также предполагаю, что вы установили для этого пустое значение в своей конфигурации `$config[‘index_page’] = ‘ ‘ ;

5. Здесь мы делаем много предположений, и это обсуждение становится продолжительным. Мне действительно нужно увидеть ваш код, чтобы решить эту проблему. Если вы разместите здесь весь соответствующий код, я готов вам помочь.