我正在使用在 FreeBSD 8.1 上运行 apache 版本 2.2.25 的服务器。假设我有以下网址:this.domain.com/html/folder/index.php 我想将其重写为:this.domain.com/index
我将如何具体创建重写规则?我应该在 httpd.conf 文件或 .htaccess 文件中创建重写规则,还是真的不重要?另外,有没有办法将域名“this.domain.com”更改为其他名称?
我正在使用在 FreeBSD 8.1 上运行 apache 版本 2.2.25 的服务器。假设我有以下网址:this.domain.com/html/folder/index.php 我想将其重写为:this.domain.com/index
我将如何具体创建重写规则?我应该在 httpd.conf 文件或 .htaccess 文件中创建重写规则,还是真的不重要?另外,有没有办法将域名“this.domain.com”更改为其他名称?
假设,您希望用户输入较短的 urlthis.domain.com/index
并在this.domain.com/html/folder/index.php
; 将以下规则添加到.htaccess
at root /
。
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^this\.domain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ html/folder/$1.php [L]
我不确定您将域更改为其他内容是什么意思。this.domain.com
可以更改为that.domain.com
或addon-domain.com
但仅当它们的 DNS 指向同一服务器(以提供共享内容)时才有意义。否则,它就像一个外部重定向到某个其他站点。
RewriteCond %{HTTP_HOST} ^this\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://that.domain.com/$1 [R=301,L]
尝试这个
RewriteRule ^/index$ /html/folder/index.php [PT]