我正在尝试使用 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]
一旦我弄清楚我的问题,就不再需要顶部的重定向。
有什么帮助吗?
最佳答案
这应该是您完整的 .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]
关于.htaccess - htaccess 和 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17991487/