【发布时间】:2011-02-07 07:15:29
【问题描述】:
您将在下面找到我当前正在用于我目前正在开发的网站的 vHost 条目。此 vHost 条目在我的本地计算机上运行良好,但当我将代码推送到运行同一 vHost 记录的登台服务器时,我收到 500 Internal Server 错误。
我正在运行此 vHost 的机器正在运行 Apache 2.2.9 (Debian)。
<VirtualHost 206.217.196.61:80>
SuExecUserGroup 13labs 13labs
ServerAdmin aellis@1three.com
ServerName admin.13labs.net
ServerAlias admin.13labs.net
DirectoryIndex index.php
DocumentRoot /var/www/13labs.net/html/admin/
ErrorLog /var/www/13labs.net/logs/error.log
# Hide .svn Directories
<DirectoryMatch "\.svn">
Order deny,allow
deny from all
</DirectoryMatch>
# FastCGI
Alias /fcgi-bin/ /var/www/13labs.net/fcgi-bin/
AddHandler php-fastcgi .php
AddType application/x-httpd-php .php
Action php-fastcgi /fcgi-bin/admin-php.fcgi
<Directory /var/www/13labs.net/fcgi-bin/>
SetHandler fcgid-script
AllowOverride None
Options -Indexes +ExecCGI -FollowSymlinks -SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/13labs.net/html/admin/>
AllowOverride None
Options -Indexes -FollowSymlinks -SymLinksIfOwnerMatch
FileETag All
</Directory>
# Rewrite Logic
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/(.+)$ /index.php/$1 [PT,QSA,L]
感谢您提供的任何帮助。
最好的问候,
安德鲁
【问题讨论】:
-
似乎经过进一步调查,如果我在物理上定义 RewriteRule 它将起作用,但通配规则会失败。例如,这适用于“RewriteRule ^/user/login$ /index.php/user/login [PT,QSA,L]”,但这不起作用“RewriteRule ^(.*)$ /index.php$1 [PT, QSA,L]"
标签: mod-rewrite apache2 vhosts