0

我对我的 codeigniter 安装的 .htaccess 文件有疑问。在本地主机上这项工作正常,当我在线上传其重写 URL 但网站无法正常工作时。

这是我在本地主机上的 htaccess:

RewriteEngine On
RewriteBase /jCore_01/
#RewriteBase /

### Canonicalize codeigniter URLs

# If your default controller is something other than
# "welcome" you should probably change this
RewriteRule ^(welcome(/index)?|index(\.php)?)/?$ / [L,R=301]
RewriteRule ^(.*)/index/?$ $1 [L,R=301]

# Removes trailing slashes (prevents SEO duplicate content issues)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]



# Enforce NO www
#RewriteCond %{HTTP_HOST} ^www [NC]
#RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]



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

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

在线我有一个问题:我把这个文件放在子域 jcore.miodomio.com 上,它重写了 URL 但不起作用

示例:没有 htaccess 它的工作:jcore.miodominio.com/index.php/en/home

使用 htaccess jcore.miodominio.com/en/home

未找到

在此服务器上找不到请求的 URL /en/home。

谁能帮我?建议?问候

丹尼

4

2 回答 2

1

尝试将您的 htaccess 更改为:

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

于 2013-06-12T18:40:29.220 回答
0

需要考虑的事情。

  1. 您是否启用了 Apache 重写模块?
  2. 如果启用,请检查您的虚拟主机文件是否配置正确,以确保其命中 .htaccess 或尝试在 .htacess 上放置一些转储,因此如果命中 .htaccess ,您应该会收到 500 服务器错误。

如果您没有收到错误,则主要是主机设置中的问题。

于 2013-06-13T12:35:21.747 回答