Apache 将请求重定向到不存在的文件到另一个目录

Apache 将请求重定向到不存在的文件到另一个目录,apache,.htaccess,url,redirect,Apache,.htaccess,Url,Redirect,我有一个站点,它有许多对index.html的请求,但在我的根目录中没有这样的文件。我想将所有这些请求重定向到另一个目录中的某个文件 另一个目录URL非常长(比如:wp content/themes/wp mobile/…../index.html),我不希望用户直接看到这个长目录。我想展示一些简短的URL,比如site.com/adasd 如何使用.htaccess文件和mod rewrite?首先将/index.html重定向到您选择的缩短URL,如下所示: Redirect 301 /in

我有一个站点,它有许多对
index.html
的请求,但在我的根目录中没有这样的文件。我想将所有这些请求重定向到另一个目录中的某个文件

另一个目录URL非常长(比如:
wp content/themes/wp mobile/…../index.html
),我不希望用户直接看到这个长目录。我想展示一些简短的URL,比如
site.com/adasd


如何使用
.htaccess
文件和
mod rewrite

首先将
/index.html
重定向到您选择的缩短URL,如下所示:

Redirect 301 /index.html /adasd
然后将缩短的URL映射到实际页面,而无需重定向

RedirectRule ^adasd/?$ /wp-content/themes/wp-mobile/...../index.html [NC,L]
您可能还需要添加以下内容来正确处理任何css、js文件引用

RedirectRule ^adasd/(.+)$ /wp-content/themes/wp-mobile/...../$1 [NC,L]
如果加在一起,可以将上述两条规则缩短为

RedirectRule ^adasd/?$ /adasd/index.html [NC]
RedirectRule ^adasd/(.+)$ /wp-content/themes/wp-mobile/...../$1 [NC,L]

请尝试以下方法:

RedirectRule ^index\.html$ /adasd [NC,L,R=301]

RedirectRule ^adasd/?$ /adasd/index.html [NC]
RedirectRule ^adasd/(.+)$ /wp-content/themes/wp-mobile/...../$1 [NC,L]

嗨,非常感谢Ravi Thapiyal先生。我试过了,但没用它直接重定向到那个长url:(,这种情况是否可能如我所说的那样发生?请检查我的更新。如果不起作用,请发布您当前的.htaccess代码。您好,感谢您的回答Ravi Thapliyal。发生了内部服务器错误。RewriteEngine已打开,但…我认为我的情况是错误的,仅凭htaccess无法实现