我正在使用下面的mod重写脚本,我想改变它试图寻找一个特定的目录中的文件,有人可以给我一个提示如何实现这个请好吗? <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 重写需要检查文件名是否存在于所请求的位置,如果失败则检查目录,如“/ themes / theme1”,最后当上述两个文件失败时进入/index.php。
我们正在使用Apache 1.3.19,并开始了我们的第一次进入mod-rewrite。 我们想要转换一个像这样的url: http://somesite.com/us/en/bc/somePage.jsp 至: http://somesite.com/bc/somePage.jsp?isoCountryCode=us&isoLanguageCode=en 不幸的是,我们碰到了一堵砖墙。 任何帮助将不胜感激!
我有以下modrewrite规则: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^blog/([^/]*)/([^/]*)/$ /blog.php?date=$1&title=$2 [L] 这是非常简单的。 我的问题是,如果没有variables列出,我如何得到这个重写指向blog.php ? 如果没有variables存在,blog.php将写入文档列表,如果存在variables,也创build单独列表。 编辑: blog.php工作正常,没有国防部重写。 如果我去http://host/blog.php它列出我所有的文章。 如果我去http://host/blog/2010-10-05/blog-title/它会显示我的单个条目。 同样,如果我去http://host/blog.php?date=2010-10-05&title=blog-title我得到一个单一的条目。 不过,我想要http://host/blog/列出我的所有条目。 我想问题是:这是否需要第二个重写规则? 如果是这样的话,我怎样才能让这两个人打得好呢?
我试图build立一个简单的networking应用程序,我有一些困难。 以下是我如何设置: /srv/www/application <– python code /srv/www/public_html <– document root 我希望Apache可以在public_html中find它,否则将请求发送给我的应用程序。 我的虚拟主机文件的一个片段: DocumentRoot /srv/www/public_html <Directory /srv/www/public_html> Options -Indexes RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ../application/code.py/$1 [L] </Directory> 我真的不知道.. /应用程序,(因为我认为它重写到一个url,而不是一个目录),我怀疑这就是为什么它不工作,但我找不到一个方法,使其工作。 更新 我已经应用了Cakemox的build议,但仍然存在一些问题。 以下是我所做的: WSGIScriptAlias / /srv/www/application/code.py 这条路线一切到我的应用程序。 奇怪的是,它的工作了一会儿,即在public_html内find的文件被送达,其余的被路由到我的应用程序,但我想浏览器的caching玩弄技巧。 我也试过: WSGIScriptAlias /application /srv/www/application/code.py <Directory /srv/www/public_html> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} […]
我有两个域 – domain.com和forum.domain.com指向相同的目录。 我想redirect从forum.domain.com所有请求到domain.com(例如:forum.domain.com/foo到domain.com/forum/foo),而无需在地址栏(隐藏redirect)中更改地址。 我写了这样的东西,把它放到.htaccess文件中: Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^forum\.example\.net$ RewriteRule (.*) http://example.com/forum/$1 [L] RewriteCond %{REQUEST_FILENAME} !-s [NC] RewriteCond %{REQUEST_FILENAME} !-d [NC] RewriteRule ^(.+) index.php/$1 [L] 这只适用于我添加redirect指令: RewriteRule (.*) http://example.com/forum/$1 [R,L] 但它会改变地址栏中的以前的地址。 编辑: 好吧,让我们简单一点。 我在本地计算机的c:\ windows \ system32 \ drivers \ etc \ hosts的末尾添加了这两行: 127.0.0.3 foo.net 127.0.0.3 forum.foo.net 现在,我创build了两个虚拟主机: <VirtualHost foo.net:80> ServerAdmin [email protected] […]
我刚刚完成了本教程(和其他人)关于如何使用Apache的mod_rewrite: http : //www.workingwith.me.uk/articles/scripting/mod_rewrite 。 但是,他们都专注于使用.htaccess文件来重写URL 你怎么能从apache.conf / httpd.conf文件中使用这个重写引擎模块,或者只是在'/ etc / apache2 / sites-enabled'目录中使用这个重写引擎模块。 如何做到这一点所需的任何额外的语法的例子将是有用的。 我有root权限访问我的系统,所以我宁愿避免使用.htaccess文件,如果可能的话。 我的系统是Ubuntu-Server 10.04
我正在尝试将subdomain.example.com指向subdomain.example.com上的资源 这是一个WordPress的博客。 我试图给一个静态页面自己的子域名。 重点是基本上展示现有的资源,而不会泄露的URL …到目前为止,我试过… RewriteCond %{REQUEST_URI} subdomain.example.com [NC] RewriteRule ^(.*)$ http://subdomain2.example.com/?page_id=1 [P] 但无济于事。 目前我有subdomain.example.com设置为自己的虚拟服务器与资源RedirectPermanent。 任何人都有如何实现这一目标的见解? 我想我越来越近了,但我对此很新。 谢谢。
如何写重写器redirect: http://example.com/index.php到https://example.com/index.php 而其他任何东西都保持不变 例如: http : //example.com/index.php?a=2& lang= English保持原样http://example.com/index.php?a=2&lang=English
我设置了一个虚拟主机,并把htaccess的一些重写规则…但他们不工作..只有在虚拟主机configuration规则工作..我做错了什么? 的.htaccess setEnv TZ Europe/Athens Options +FollowSymLinks ErrorDocument 404 /404.php php_value max_execution_time 600 php_value max_input_time 600 php_value upload_max_filesize 10M php_value post_max_size 16M php_value memory_limit 200M php_value session.gc_maxlifetime 21600 php_flag magic_quotes_gpc Off RewriteEngine On RewriteBase / RewriteRule ^(.+)/home/?$ /index.php?__i18n_language=$1 [L] RewriteRule ^(.+)/press/([0-9]+)?$ /press.php?__i18n_language=$1&id=$2 [L] RewriteRule ^(.+)/profile/(.+)?$ /static.php?__i18n_language=$1&tag=$2 [L] RewriteRule ^(.+)/links/?$ /static.php?__i18n_language=$1&tag=links [L] RewriteRule ^(.+)/corporate/?$ /static.php?__i18n_language=$1&tag=corporate [L] […]
在Apache HTTPD 2.2中,我希望对/index.foo或/foo请求(如果它们不是文件或目录)变成/index.php?transform=foo ,而不pipeURL有多less级别。 成功的标准是: http://www.site.example/index.foo – > http://www.site.example/index.php?transform=foo http://www.site.example/foo – > http://www.site.example/index.php?transform=foo http://www.site.example/bar/baz/foo – > http://www.site.example/bar/baz/index.php?transform=foo 即,我不想重写相对于.htaccess目录; 我希望它们相对于请求中最顶层的目录。