0

我已经在这里工作了 3 个小时,似乎无法mod_rewrite在子域下的共享服务器上使用 GoDaddy。我在子目录中有一个应用程序,并且我之前在多个服务器上使用过相同的规则,所以我知道它们可以工作。这是我所拥有的:

PHP 版本 5.3.10-1 Ubuntu3.6

subdomain root/
-.htaccess
--appdir/
---.htaccess
----public/
-----.htaccess

子域根/.htaccess

Options -Multiviews

文档根目录就是这样.htaccess,许多人建议使用 GoDaddy 服务器执行此操作。

应用程序目录/.htaccess

Options -Multiviews

RewriteEngine on
RewriteBase /appdir
RewriteRule    ^$    public/    [L]
RewriteRule    (.*) public/$1    [L]

这会将所有请求路由到appdir/public目录

appdir/public/.htaccess

Options -Multiviews

RewriteEngine On
RewriteBase /appdir/public ### also tried just adding /appdir ###
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

ErrorDocument 404 index.php

只是为了确保mod_rewrite可用,我sudo a2enmod rewrite从 Bash 运行并在重新启动 apache 后进行了检查print_r(apache_get_modules());,果然它在那里,所以不用说我完全不知道问题可能是什么。任何人都有与 GoDaddy 类似的经历,并有关于如何开始mod_rewrite跑步的建议?提前致谢。

4

1 回答 1

1

从默认的 ubuntu 安装开始并使用 mod_rewrite 运行,您必须:

启用模组重写

a2enmod rewrite

然后确保您在站点配置 (/etc/apache2/sites-available/) 中允许覆盖并更新AllowOverride All'' 指令中的行。

重新加载apache配置

service apache2 reload
于 2013-05-19T04:15:05.580 回答