htaccess не работает на моем VPS с cpanel - PullRequest
0 голосов
/ 26 июня 2011

У меня есть веб-сайт, который был на VPS с панелью управления directadmin, но я только что перешел на другой VPS с Cpanel. Раньше он работал, когда он работал на старом VPS, но на новом я не могу заставить его работать .. !!

Мой скрипт - это скрипт CodeIgniter, а в этом скрипте этот URL:

www.mydomain.com/index.php/news

следует преобразовать в:

www.mydomain.com/news

Но после использования htaccess, я могу открыть главную страницу (которая является index.php), но когда я хочу перейти на www.mydomain.com/news (это должно быть определено как www.mydomain.com/index. php / news от htacces) показывает мне главную страницу. Я установил CodeIgniter (каркас, который я использую для своего скрипта) в папке public_html (которая находится в папке home / user).

У меня есть полный доступ администратора к моему VPS, WHM / Cpanel, и я могу вносить любые изменения.

это .htaccess, который работал для меня в моем старом VPS:

Options FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule> 

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

Я только что нашел это, преобразовав эту строку:

RewriteRule ^(.*)$ index.php/$1 [L]

к этому:

RewriteRule ^(.*)$ index.php/$1 [R]

означает изменение флага [L] на [R], он работает, но он просто конвертирует www.domain.com / news в www.domain.com / index.php / news и показывает в адресной строке и это не то, что я хочу.

У вас есть какое-нибудь решение ?! Должен ли я изменить какую-либо конфигурацию на Cpanel?!

1 Ответ

0 голосов
/ 04 апреля 2014

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

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond $1 !^(index\.php|images|css|js|favicon\.ico|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>

Надеюсь, это работает на вашей установке CodeIgniter, у меня была та же проблема, и это решило ее.

...