在我的域中,我有htaccess文件来创建重写。现在,我正在将我的域名重写为其他URL,如下所示,
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ http://example2.com:8080/$1 [P]
现在我想让example.com/desc重写example2.com:8080中的某个文件夹。现在我的htaccess看起来如下,
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ http://example2.com:8080/$1 [P]
RewriteCond %{HTTP_HOST} ^example\.com/desc$
RewriteRule ^(.*)$ http://example2.com:8080/myapp$1 [P]
我在点击example.com/desc
时遇到404错误。
如何使用这两种方法。
按照以下方式回答anubhava的回答
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(desc(?:/.*)?)$ http://example2.com:8080/myapp/$1 [P,NC]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://example2.com:8080/$1 [P]
example.com
运行正常。但example.com/desc
显示以下错误404错误,错误消息中也添加了desc
。
HTTP Status 404 - /myapp/desc
答案 0 :(得分:0)
根据上述评论,您可以尝试以下规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^desc(/.*)?$ http://example2.com:8080/myapp$1 [P,NC]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://example2.com:8080/$1 [P]
你可以