我正在尝试创建具有精美URL的重定向,但是我在努力阻止访问者访问直接文件。
例如,我有一个文件夹pages
,其中包含我所有的.html
页,并且我想将访问者从www.mysite.com/mypage
重定向到www.mysite.com/pages/mypage.html
(重定向,但仍显示幻想网址版本)。我已经在.htaccess
RewriteRule ^mypage /pages/mypage.html [L]
如果访客仍然能够直接从浏览器访问www.mysite.com/pages/mypage.html
,并且我不想允许它,那么这将很好地解决真正的问题。
我尝试了很多解决方案,但似乎无济于事。我的理想解决方案是当访问者尝试访问此页面时重定向到404
页面,但是如果不可行,我还可以返回410 (gone)
状态。
我附上我的完整.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^mypage /pages/mypage.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
感谢您的时间
答案 0 :(得分:0)
如果要发布410,则可以使用 [G]标志。规则如下所示
x
相同的工作示例可以在在线htaccess测试仪link
中找到,如果您想重定向到页面目录下的404.html,则可以使用以下规则
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/pages/? [NC]
RewriteRule .? - [G]
RewriteRule ^mypage /pages/mypage.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
相同的工作示例可以在在线htaccess测试仪link
中找到