1

所以我试图从这个转变我的网站:

http://profe5.com/Profe5-Web/public_html/login.html

对此:

http://profe5.com/login

我一直在努力做到这一点,但每当我运行它时,我都会收到 404 错误!

这是我的 htaccess:

    DirectoryIndex Profe5-Web
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} !^profe5\.com$ [NC]
    RewriteRule ^(.*)$ http://profe5.com/$1 [R=301,L]
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^([^\.]+)$ $1.html [R=301,L]
    RewriteRule ^Profe5-Web/public_html/(.*)$ $1 [R=301,L]

如果你们能帮助我,那就太棒了!非常感谢!

4

3 回答 3

1

这应该是您完整的 .htaccess:

DirectoryIndex Profe5-Web
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^profe5\.com$ [NC]
RewriteRule ^(.*)$ http://profe5.com/$1 [R=301,L]

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+Profe5-Web/public_html/([^.]+)\.html [NC]
RewriteRule ^ %1? [R=301,L]

# internal forward from pretty URL to actual one
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^/.]+)/?$ Profe5-Web/public_html/$1.html [L,QSA]
于 2013-10-26T10:07:15.837 回答
0

您可以考虑改为通过虚拟主机执行此操作;与您的托管公司联系以进行设置

于 2013-10-26T03:40:46.607 回答
0

如果你想/login映射到Profe5-Web/public_html/login.html- 试试这个:

RewriteRule ^([^.]+)$ Profe5-Web/public_html/$1.html [R=301,L]

您已经拥有的 RewriteRuleRewriteRule ^([^\.]+)$ $1.html [R=301,L]将映射/login/login.html,这似乎并不能满足您的需要。

于 2013-10-26T03:56:47.850 回答