Добавить каталог в середине URL с помощью hataccess - PullRequest
2 голосов
/ 21 августа 2011

Мой текущий файл .htacces выглядит следующим образом:

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

То, что я пытаюсь выполнить (как и выше), это изменить URL-адрес, такой как http://domain.com/pages/pagename, на что-то вроде http://domain.com/index.php/pages/view/pagename.

Помните, что мне по-прежнему требуются URL-адреса без / page / part, такие как http://domain.com/search, чтобы перейти к http://domain.com/index.php/search.Я работаю с CodeIgniter.

Я до сих пор придумал:

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

RewriteCond %{REQUEST_URI} ^/pages/(.*)
RewriteRule ^(.*)$ ./index.php/pages/index/$1 [L,QSA]

Но это не работает.

Ответы [ 2 ]

0 голосов
/ 22 августа 2011

Попробуйте это:

RewriteEngine on

# do not do anything for already existing files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]

# /pages/ specific rule
RewriteRule ^pages/(.*)$ index.php/pages/index/$1 [L]
# everything else
RewriteRule ^(.*)$ index.php/$1 [L]

Выше предполагается, что http://domain.com/pages/ не является реальной папкой.

0 голосов
/ 21 августа 2011
RewriteRule ^pages/(.*) /index.php/pages/index/$1
...