我无法在我的网站中使用子域名。它将返回:
错误500,内部服务器错误。
当我检查时,我发现问题出在我的htaccess文件中。
RewriteEngine On
Options -Indexes
RewriteRule ^contest/?$ contest.php [NC,L]
RewriteRule ^contest/(.+)/?$ contest.php?name=$1&id=htapappu [NC,L]
RewriteRule ^news/?$ news.php [NC,L]
RewriteRule ^news/(.+)/?$ news.php?newsid=$1 [NC,L]
RewriteRule ^projects/?$ projects.php [NC,L]
RewriteRule ^projects/(.+)/?$ projects.php?projectid=$1 [NC,L]
RewriteRule ^page/?$ page.php [NC,L]
RewriteRule ^page/(.+)/?$ page.php?feed=$1 [NC,L]
RewriteRule ^photos/?$ photos.php [NC,L]
RewriteRule ^photos/(.+)/?$ photos.php?catg=$1 [NC,L]
RewriteRule ^profile/complete/?$ complete_profile.php [NC,L]
RewriteRule ^profile/picture/?$ set_profile_pic.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me [NC,L]
问题出在最后一行。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me [NC,L]
当我删除最后两行时,没有问题。我认为这是一个小问题。
答案 0 :(得分:1)
您可以使用index.php
指令默认加载DirectoryIndex
,然后添加规则以忽略子域的所有重写:
DirectoryIndex index.php
Options -Indexes
RewriteEngine On
RewriteBase /
# ignore further rules for admin
RewriteCond %{HTTP_HOST} ^admin\. [NC]
RewriteRule ^ - [L]
RewriteRule ^contest/?$ contest.php [NC,L]
RewriteRule ^contest/(.+)/?$ contest.php?name=$1&id=htapappu [NC,L,QSA]
RewriteRule ^news/?$ news.php [NC,L]
RewriteRule ^news/(.+)/?$ news.php?newsid=$1 [NC,L]
RewriteRule ^projects/?$ projects.php [NC,L]
RewriteRule ^projects/(.+)/?$ projects.php?projectid=$1 [NC,L,QSA]
RewriteRule ^page/?$ page.php [NC,L]
RewriteRule ^page/(.+)/?$ page.php?feed=$1 [NC,L,QSA]
RewriteRule ^photos/?$ photos.php [NC,L]
RewriteRule ^photos/(.+)/?$ photos.php?catg=$1 [NC,L,QSA]
RewriteRule ^profile/complete/?$ complete_profile.php [NC,L]
RewriteRule ^profile/picture/?$ set_profile_pic.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ member.php?userismnob=$1&redirect=me [NC,L,QSA]