簡體   English   中英

htaccess規則從子域重定向,但保持某些文件可訪問

[英]htaccess rule to redirect from subdomains but keep some files accessible

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AddType application/x-httpd-php .htm .xml .rss
Options Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{HTTP_HOST} ^(.+?)\.mysite\.net$
RewriteRule .* /index.php?sitename=%1 [L]

Options +FollowSymLinks

這是我的htaccess文件的樣子。 我希望所有subdomain.mysite.com重定向到帶有子域名稱的索引文件,以便我可以顯示適當的站點。 到目前為止,效果還不錯...

我的問題是,我現在需要直接訪問例如www.mysite.com/script.php,並且出現500錯誤。 htaccess對我來說很混亂,我將如何實現呢? 謝謝!

您需要將這3行添加到現有規則中:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

因此最終規則如下所示:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AddType application/x-httpd-php .htm .xml .rss
Options Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{HTTP_HOST} ^(.+?)\.mysite\.net$
RewriteRule .* /index.php?sitename=%1 [L]

Options +FollowSymLinks

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM