Etherpad,Apache mod_rewrite以允许使用漂亮的URL

时间:2018-07-04 13:59:38

标签: apache mod-rewrite mod-proxy etherpad

我想默默更改正在请求的URL,即如果用户在浏览器中键入pad.my.domain / foo,我想提供pad.my.domain / p / foo,但不想更改他显示在浏览器中的URL。


我引用的站点试图掌握正在发生的事情:

http://httpd.apache.org/docs/2.4/rewrite/remapping.html
http://httpd.apache.org/docs/2.4/rewrite/flags.html
https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy#add-this-to-allow-nice-urls-such-as-httpsetherpadexampleorgpadname
http://www.workingwith.me.uk/articles/scripting/mod_rewrite


我认为我的配置可以做什么:
如果用户键入pad.my.domain / foo,则将用户重定向到pad.my.domain / p / foo,但是它将更改显示给用户的bee显示的URL。


当前配置:

ProxyVia On  
ProxyRequests Off  
ProxyPreserveHost on  

<Proxy *>  
    Options FollowSymLinks MultiViews  
    AllowOverride All  
    Order allow,deny  
    allow from all  
</Proxy>  

ProxyPass / http://pad.my.domain:9001/  
ProxyPassReverse / http://pad.my.domain:9001/  

RewriteEngine On  
RewriteRule /p/*$ https://pad.my.domain/ [NC,L]  
RewriteCond %{REQUEST_URI} !^/locales/
RewriteCond %{REQUEST_URI} !^/locales.json
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_URI} !^/p/
RewriteCond %{REQUEST_URI} !^/static/
RewriteCond %{REQUEST_URI} !^/pluginfw/
RewriteCond %{REQUEST_URI} !^/javascripts/
RewriteCond %{REQUEST_URI} !^/socket.io/
RewriteCond %{REQUEST_URI} !^/ep/
RewriteCond %{REQUEST_URI} !^/minified/
RewriteCond %{REQUEST_URI} !^/api/
RewriteCond %{REQUEST_URI} !^/ro/
RewriteCond %{REQUEST_URI} !^/error/
RewriteCond %{REQUEST_URI} !^/jserror
RewriteCond %{REQUEST_URI} !^/redirect
RewriteCond %{REQUEST_URI} !/favicon.ico
RewriteCond %{REQUEST_URI} !/robots.txt
RewriteRule ^/+(.+)$ https://pad.my.domain/p/$1 [L]

我不知道那行是什么
RewriteRule /p/*$ https://pad.my.domain/ [NC,L]
应该完成了。
我不知道为什么最后一行没有默默地重定向(PT标签导致错误)。


非常感谢您。

0 个答案:

没有答案