我为一本杂志做了一个django网站,在mag.org/django-sitefind它。 旧网站仍然位于mag.org/httpdocs(由mediatemple托pipe)。 我希望它能够打到www.mag.org,打开django站点(就像目前的情况一样,在conf文件中configuration),而archive.mag.org命中则为httpdocs服务旧站点,是,它是由Apache而不是mod_python。 这是可能通过mod重写,或mod别名? 由mediatemple dv主持。 httpd.conf被plesk重写; 对于每个域/子域,httpd.conf访问仅限于单个vhost.conf。 我只需要[/mag.org/subdomains/archive/conf/vhost.conf]中的一个简单的[DocumentRoot /var/www/vhosts/mag.org/httpdocs]。 现在mag.org指向由mod-python提供的django站点,而archive.mag.org指向由apache提供服务的httpdocs文件夹。 (我最初发布这个堆栈溢出,但我认为它更适合于serverfault。)
我正在研究安装在自己的子文件夹中的博客,所以文章的URL如下所示: 我需要它看起来像这样: http://www.sampleurl.com/article 我不能把它安装在根目录下,所以一个mod重写就能做到这一点,如果是这样,如何? 谢谢!
如何以及在哪里将我的mod_rewrite规则放在httpdconfiguration中,以便在启动时只parsing一次,而不是每次读取web目录中的文件。 附加信息: 假设所有脚本都在.htaccess文件中工作 运行Apache 2.0.52的RHEL4 机器上有多个子/域 谢谢
我想使用mod_rewrite来确保某些页面通常以SSL和其他方式提供,但是我无法正常工作 这工作(请求uri是用户或购物车时redirect到SSL) RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} users [OR] RewriteCond %{REQUEST_URI} cart RewriteRule ^(.*)$ https://secure.host.tld/$1 [R,L] 所以,为了适应用户不要用ssl来浏览网站,当请求其他uris时,我想下面,但是不起作用:(当端口是443并且请求uri不是需要服务的uris之一通过SSL,redirect回正常的主机) RewriteCond %{SERVER_PORT} 443 RewriteCond %{REQUEST_URI} !^/users [OR] RewriteCond %{REQUEST_URI} !group RewriteRule ^/?(users|groups)(.*)$ http://host.tld/$1 [R,L] 任何帮助? 谢谢
我有一些这样的重写规则 RewriteRule ^dir/(.*)-something.html otherdir/file1.php?var1=val&var2=$1 [L,NC] RewriteRule ^dir/ otherdir/file2.php?var1=val [L,NC] 目录/不是一个真正的目录。 以上的一切按预期工作。 但是,用户可以input类似的东西 mysite.com/dir/asdfasdfasdfsdf 他们仍然redirect到file2.php。 如果用户只是input垃圾,我想用404代替。 我猜测我需要一个RewiteCond来testing斜线后面的空格,然后才能提供file2.php,但是我不确定如何编写它。
我们有一个重写规则可以正常工作,但是我们重写的原因是因为目标URL不那么整洁。 foo.com/bar -> foo.com/some/really/long/address 我想要做的是保持foo.com/bar URL在浏览器中,但显示foo.com/some/really/long/address页面。 这可能吗?
长话短说,我想同时有example.com/aJ5和example.com/any-other-url一起工作。 我使用的是Apache,不擅长编写正则expression式。 我已经有一个全局的RewriteRule ,它将所有的东西都发送到应用程序入口点。 我需要的是告诉Apache if length($path) is <= 5 chars然后重写到另一个位置。 我知道我可以在正则expression式中使用{1,5}类似的语法,但是并不真正知道它是我正在寻找的。 我想实现这个在Web服务器级而不是PHP级别。 任何帮助表示赞赏。
我正在从Apache切换到Nginx / fcgi,而且在尝试设置应用程序重写规则时遇到小问题。 代码通过使用PATH_INFO来处理路由,例如example.com/foo/bar/将被路由到example.com/index.php/foo/bar/ 我已经修改了服务器configuration来传递PATH_INFO: location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME /var/www/public$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } 而重写处理程序: location / { root /var/www/public; index index.html index.htm index.php; if (!-f $request_filename) { rewrite ^(.*)/(.*)$ /index.php/$2 break; } } 有了' rewrite_log on ',这个url看起来是正确的路由: [error]: *2 open() "/var/www/public/index.php/test" […]
我一直负责修改一个现有的WordPress网站的URL重写。 问题是我从来没有这样做过。 我知道这些规则应该放在一个.htaccess文件里,里面有这样的东西: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /index.php [L] </IfModule> # END WordPress 但是,我不知道如何指定重写的规则和条件。 我已经尝试读取mod_rewrite指南 ,但是我有点缺乏的技术能力限制了我的理解。 以下是需要重写的URL和期望的结果: 通用博客posturl www.example.com/?p=X = www.example.com/blog/custom-post-title/ 具体页面 www.example.com/?page_id=2 = www.example.com/about/ www.example.com/?page_id=4 = www.example.com/bloggers/ www.example.com/?page_id=10 = www.example.com/results/ 通用博客configuration文件 www.example.com/?author=X = www.example.com/blogger/author-name/ 任何帮助,将不胜感激。 提前致谢!
我遇到了redirectstream量的问题。 基本上,我正在构build一个新的Web服务器,它在我的域的另一个版本,所以我想redirectstream量不是从这个IP。 问题是亚马逊的ELB负载平衡器是在路上,所以它取代了REMOTE IP地址。 正常的获得方法。 研究发现我需要使用%{X-Forward-For}我 – 但它不工作,我不知道我是否已经在正确的位置和语法。 我正在运行虚拟主机,所以我把VirtualHost标签… <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/vhosts/foo/www.bar.com/htdocs/ ServerName www.bar.com ErrorLog /var/www/vhosts/foo/www.bar.com/logs/error.log CustomLog /var/www/vhosts/foo/www.bar.com/logs/access.log common RewriteEngine On RewriteCond %{X-Forwarded-For}i !^xxx\.xxx\.xxx\.xxx RewriteRule ^.*$ http://www.bar.com/ [R,L] </VirtualHost> Obv xxx.xxx.xxx.xxx是我的IP。 这是错的吗?