1

我正在使用在 FreeBSD 8.1 上运行 apache 版本 2.2.25 的服务器。假设我有以下网址:this.domain.com/html/folder/index.php 我想将其重写为:this.domain.com/index

我将如何具体创建重写规则?我应该在 httpd.conf 文件或 .htaccess 文件中创建重写规则,还是真的不重要?另外,有没有办法将域名“this.domain.com”更改为其他名称?

4

2 回答 2

0

假设,您希望用户输入较短的 urlthis.domain.com/index并在this.domain.com/html/folder/index.php; 将以下规则添加到.htaccessat 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.comaddon-domain.com但仅当它们的 DNS 指向同一服务器(以提供共享内容)时才有意义。否则,它就像一个外部重定向到某个其他站点。

RewriteCond %{HTTP_HOST} ^this\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://that.domain.com/$1 [R=301,L]
于 2013-08-16T01:30:28.453 回答
0

尝试这个

RewriteRule ^/index$ /html/folder/index.php [PT]
于 2017-07-04T08:18:51.760 回答