htaccess和URL重写

时间:2013-08-01 10:27:43

标签: .htaccess url-rewriting

我正在尝试使用htaccess进行一些URL重写但是有点挣扎。 基本上我正在尝试使用以下URL:

http://www.example.com/ [页面名]

并显示位于以下位置的文件的内容:

http://www.example.com/site/ [页面名] .PHP

我在线搜索但找不到有用的东西。

我的htaccess文件如下所示:

Redirect 301 /page http://www.example.com
Redirect 301 /privacy http://www.example.com/site/privacy.php
Redirect 301 /EULA http://www.example.com/site/EULA.php
Redirect 301 /etiquette http://www.example.com/site/etiquette.php

ErrorDocument 404 /site/404.php
# Rewrite non-www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

一旦我发现问题,就不需要在顶部重定向。

任何帮助?

1 个答案:

答案 0 :(得分:2)

这应该是你完整的.htaccess:

Options +FollowSymLinks -MultiViews

ErrorDocument 404 /site/404.php

Redirect 301 /page http://www.example.com
Redirect 301 /privacy http://www.example.com/site/privacy.php
Redirect 301 /EULA http://www.example.com/site/EULA.php
Redirect 301 /etiquette http://www.example.com/site/etiquette.php

# Rewrite non-www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/site/$1.php -f
RewriteRule ^(.*)$ /site/$1.php [L]