1

大家好,我是 url 重写的一个主要问题。如果您之前可能在某个地方看到过,请道歉。

问题在这里

例如,如果我输入一个 url,exampl.x10.mx或者www.example.x10.mx我得到一个不应该发生的 403 错误,因为

RewriteCond %{HTTP_HOST} ^example.x10.mx [NC]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=301,L]

可能会解决这个问题。

RewriteCond %{REQUEST_URI} !^lwh/

RewriteCond $1 !^lwh/

上面的代码隐藏了 lwh 文件夹。

完整的.htaccess 代码

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} !^lwh/
RewriteCond $1 !^lwh/
RewriteCond %{HTTP_HOST} ^example.x10.mx [NC]

RewriteRule (.*) /lwh/main/pages/general/$1 [L]
RewriteRule ^(.*)$ lwh/$1 [L]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=301,L]

问题总结 如果我记得

  RewriteCond %{REQUEST_URI} !^lwh/
    RewriteRule ^(.*)$ lwh/$1 [L]

下面的代码有效,如果我记得下面的代码,也会发生同样的情况。问题是我需要他们两个。

RewriteCond %{HTTP_HOST} ^example.x10.mx [NC]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=301,L]

请知道为什么会这样

4

2 回答 2

1

用以下代码替换您的 .htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} ^example\.x10\.mx$ [NC]
RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=302,L]

RewriteCond %{REQUEST_URI} !^/lwh/
RewriteCond %{HTTP_HOST} ^example\.x10\.mx$ [NC]
RewriteRule ^(.*)$ /lwh/main/pages/general/$1 [L]
于 2013-07-22T19:59:00.177 回答
1

问题在于 R=301(永久重定向到新 URL)

RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [R=302,L]

现在

RewriteRule ^(.*)$ http://www.example.x10.mx/$1 [L]
于 2013-07-22T21:57:26.607 回答