我想创建子域名,以便我可以使用地址test.mydomain.com。 在搜索网页和大量试用后,我在.htacces文件中得到了这个:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com(:80)?$
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -d
RewriteRule (.*) /subdomains/%1/$1 [L]
</IfModule>
如果我在浏览器中写了http://test.mydomain.com/folder/,一切都很好。
但如果我写http://test.mydomain.com/folder (不用斜杠),它会被重定向到http://test.mydomain.dk/subdomains/test/folder /,这是浏览器中显示的地址(我不想要)
我的问题是:
如何阻止重定向?
我只想在浏览器中看到http://test.mydomain.com/folder。无论结束斜线如何。
我的网络文件是这样的:
.htaccess
index.php (page for mydomain.com)
\subdomains
\test
\hello
index.php (page for test.mydomain.com/hello)
感谢。
(对不起网址中的空格。它不会让我的帖子有链接)
答案 0 :(得分:0)
立即开始工作:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
# If requested URI does not end in "/"
RewriteCond $1 !/$
# add a trailing slash
RewriteRule ^(.+)$ /$1/ [R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com(:80)?$
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/%{REQUEST_URI} -f
RewriteRule (.*) /subdomains/%1/$1 [L]
</IfModule>