大家好,我在 .htaccess 文件中创建了以下脚本
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} domain.eu
RewriteCond %{REQUEST_URI} !^domain
RewriteRule ^(.*)$ domain/$1 [L]
此脚本应将 domain.eu 重定向到域文件夹。但是当我上传此脚本时,我收到内部服务器 500 错误。
知道哪里出了问题吗?
谢谢
答案1
怎么样:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.eu
RewriteCond %{REQUEST_URI} !^/domain/
RewriteRule ^(.*)$ /domain/$1 [L]
您正在检查连接是否源自 /domain/ 文件夹,因此您需要用斜线指定它..否则您会得到一个循环..这可能会导致 500 错误。
答案2
尝试注释掉/删除“选项”行。
您可能不被允许使用服务器上的当前设置来更改 .htaccess 文件中的选项。
如果您有权更改 httpd.conf 文件,您可以使用目录配置中的“AllowOverride Options”子句来允许此操作。
(当然假设这是 Apache。)
答案3
我想,如果您每次尝试调用该页面时都能提供 error_log 中出现的确切行,我们可能会更有帮助。可能只是因为您没有先将 mod_rewrite 模块加载到 apache 中...
答案4
您应该检查服务器日志,它会告诉您有关错误的所有信息。
我同意安迪的观点,最有可能的是 Options 指令,但 RewriteEngine 指令也可能有问题。