我已经部署了一个tomcat应用程序,并进行了必要的configuration,以web服务器(消除端口等)。 我可以按照以下方式访问应用程序 http://www.domain.com/appname/ 但是,即使用户进入,我也想访问应用程序 http://www.domain.com (只是url,没有应用程序名称) http://domain.com (只是domian的名字) 我是Apacheconfiguration的新手,任何指针或示例都会大大帮助。 我认为“代理通行证”将解决… 我需要寻找重写规则还是其他?
针对使用mod_rewrite的问题进行第二天的抗争。 系统操作系统:Windows XP HTTP服务器:Apache 2.2 httpd 耦合来自httpd.conf的相关行 LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so DocumentRoot "N:/Web-dev/www" <Directory "/"> Options Indexes +FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> <Directory "N:/Web-dev/www"> Options Indexes +FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> .htaccess包含: RewriteEngine on RewriteRule ^alice.html$ bob.html PHP信息说 Loaded Modules core mod_win32 mpm_winnt […]
一个文件名在EXT3上的默认限制是255个字符。 我有一个独特的需求,我需要更长的文件名(显然是因为Apache的mod_rewrite使用文件名来存储)。 有什么设置,我可以调整从255个字符增加这个限制? (或者如果我可以改变mod_rewrite设置不使用文件)
请简单地说一下这些规则正在做什么: RewriteEngine on RewriteRule .* – [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}] RewriteRule .* – [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
我试图得到一个国防部重写工作,目前我得到404s。 这是规则: Options +FollowSymlinks RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^/portfolio/([\w-]+)$ `index.php?portfolio=$1` 我inputexample.com/portfolio/derp ,当我想要index.php?portfolio=derp时,得到一个404。 这是重写日志文件: [www.example.com/sid#9d9d4b0][rid#9fdb898/initial] (3) [perdir /var/www/html/] add path info postfix: /var/www/html/portfolio -> /var/www/html/portfolio/derp [www.example.com/sid#9d9d4b0][rid#9fdb898/initial] (3) [perdir /var/www/html/] strip per-dir prefix: /var/www/html/portfolio/derp -> portfolio/derp [www.example.com/sid#9d9d4b0][rid#9fdb898/initial] (3) [perdir /var/www/html/] applying pattern '^' to uri 'portfolio/derp' [www.example.com/sid#9d9d4b0][rid#9fdb898/initial] (4) [perdir /var/www/html/] RewriteCond: input='off' pattern='!=on' => […]
当试图从apacheredirect一个URL: www.example.com 至 example.com 它redirect到 example.com// 这是一个单页的networking服务器,固定IP直接进入页面。 直接在httpd.conf上编辑 任何想法为什么会发生这种情况? RewriteEngine On RewriteCond %{HTTP_HOST} ^www.example.com [nocase] RewriteRule ^(.*) http://example.com/$1 [last,redirect=301]
我正在尝试在.htaccess中创build一个规则集,根据HTTP_REFERER值对URL进行不同的处理。 有些东西不像预期的那样工作,我不确定问题是句法还是逻辑。 简而言之,对于特定目录下的所有文件,如果HTTP_REFERER来自同一个域,那么我希望它们能够直接提供服务;如果是空白域或其他域,则将其redirect到脚本。 我拥有的: RewriteCond %{HTTP_REFERER} !^https://%{HTTP_HOST}.*$ RewriteRule ^/mydir/(.+)$ /incl/serve_content.php?c=$1 [L] 该网站只有HTTPS,所以https条件应该足够了。 我得到的是,规则似乎从来没有匹配。 我错过了什么? 编辑 经过更多的debugging之后,看起来这个规则甚至没有被检查,在RewriteLog指令创build的日志文件中没有提及匹配和不匹配。 为什么不检查它呢? 编辑 .htaccess文件的完整内容: ErrorDocument 404 /incl/404.php AddType application/octet-stream .csv AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] RewriteCond %{HTTP_REFERER} !^https://%{HTTP_HOST}.*$ RewriteRule ^/mydir/(.+)$ /incl/serve_content.php?c=$1 [L] RewriteBase / RewriteRule ^final/([A-Za-z0-9_\.]+)$ incl/serve_final.php?c=$1 [QSA] RewriteRule ^quiz/([A-Za-z0-9_\.]+)/([0-9]+)$ incl/serve_quiz.php?c=$1&q=$2 [QSA]
看看我的重写日志: (2)使用请求的uri /bundles/astrupsspectacle/spectacle.css启动init重写引擎 (3)将模式'^(。*)$'应用于uri'/bundles/astrupsspectacle/spectacle.css' (4)RewriteCond:input ='$ {REQUEST_URI}'pattern ='!^ / app \ .php'=>匹配 (4)RewriteCond:input ='$ {REQUEST_URI}'pattern ='!^ / bundles /'=> matched (2)重写'/bundles/astrupsspectacle/spectacle.css' – >'/app.php/bundles/astrupsspectacle/spectacle.css' (2)本地path结果:/app.php/bundles/astrupsspectacle/spectacle.css (2)以document_root为前缀到/srv/spectacle/web/app.php/bundles/astrupsspectacle/spectacle.css (1)继续使用/srv/spectacle/web/app.php/bundles/astrupsspectacle/spectacle.css [确定] 它说pattern='!^/bundles/' => matched即使它显然没有pattern='!^/bundles/' => matched 。 我的模式是: RewriteCond ${REQUEST_URI} !^/bundles/ 但我也试过: RewriteCond ${REQUEST_URI} !^bundles/ 乃至: RewriteCond ${REQUEST_URI} !^bundles 他们都说“匹配”。 我勒个去!?
如何将我的网站从所有HTTP请求redirect到使用www的HTTPS +非www HTTPS HTTPS? 例: redirectHTTP非www,HTTP www。 &HTTPS非www: HTTP:// example.com/ && HTTP:// www.example.com/ && HTTPS:// example.com/ 一切以HTTPS与www: HTTPS:// www.example.com/
我正在使用AWS EC2,并使用以下虚拟主机将example.com域redirect到EC2中的目录: NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com ServerAlias example.com *.example.com <IfModule mod_rewrite.c> RewriteEngine on # WITH 'www.' RewriteCond %{HTTP_HOST} !^www.(.*) [nocase] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [redirect=permanent,nocase,last] </IfModule> DocumentRoot /var/www/html/Example </VirtualHost> 现在,当我去www.example.com它正常工作。 但是,使用裸域http://example.com我得到以下错误: Failed to load resource: the server responded with a status of 404 (Not Found) GET http://peep.ie/ net::ERR_NAME_NOT_RESOLVED 这是DNSconfiguration: A *.example.com. xxx.yyy.zzz.ttt 3600 Manual […]