2

我被 .htaccess 修改困住了,需要一点帮助。
首先,这是我的 htaccess 里面的内容。

RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

例如,我创建了名为 test.php 的文件并上传到我的服务器。

我希望我的服务器表现得像这样。

http://example.com/test/test.html -> http://example.com/test/test.html(as it is)
http://example.com/test/test.php -> http://example.com/test/test.html

但是对于我现在拥有的 .htaccess,我仍然同时拥有 .php 和 .html ,这可能被谷歌机器人等搜索引擎爬虫视为文件复制(不是吗?)。

任何帮助表示赞赏。

4

3 回答 3

1

试试这个 .htaccess 代码

# Enable Rewrite Engine
RewriteEngine on

#Create friendly URL
RewriteRule ^test/(.*)\.html$ test/$1\.php [L]

或者

RewriteCond %{REQUEST_URI} ^(.*)\.php$
RewriteRule ^(.*) /$1.html [L]

或者

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## .php to .html
# To externally redirect /test/test.php to /test/test.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1.html [R,L,NC]
于 2013-03-21T10:42:20.677 回答
1

这是 apache '.htaccess' 的配置文件,如果您仍想配置然后更改

重写引擎开启

我希望这项工作

于 2013-03-21T11:14:58.523 回答
1

您可以在根目录中的一个 .htaccess 文件中尝试此操作:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.html             [NC]
RewriteRule ^([^/]+)/([^.]+)\.php  /$1/$2.html [R=301,NC,L]

对于静默映射,将 [R=301,NC,L] 替换为 [NC,L]

于 2013-03-21T11:28:19.223 回答