我正在使用一个API,在路由中放入一个唯一的ID,然后我需要将这个唯一的ID移到我的内部路由中(所以PHP可以使用它)。 url是: HTTP://top.level.domain/folder/ [UNIQUEID]的index.php 要托pipe的服务器上的文件实际上位于: HTTP://top.level.domain/folder/index.php 所以我需要把原来的url变成: HTTP://top.level.domain/folder/index.php/ [UNIQUEID] 任何重写规则的想法,将做我所需要的? ( 重复的问题closures在stackoverflow 。)
我想把这个Lighttpd mod_rewrite变成Apache重写代码。 $HTTP["host"] =~ "^(i\.ylar\.se|puush\.me)$" { server.document-root = "/var/www/servers/i.ylar.se/" url.rewrite-once = ( "^/api/up" => "/upload.php", "^/([a-zA-Z0-9]+)$" => "/view.php?image=$1" ) } 感谢您的帮助!
我试图添加一个重写规则到我的htcaccess文件和有问题的部分是查询string。 我想将查询string参数pid添加到重写规则中。 这两行代码不起作用,如何为您设置查询string是重写规则。 RewriteRule browse/(.*)/?pid=(/d+) show_products.php?department=$1&pid=$2 RewriteRule browse/(.*)/?pid=([0-9]+) show_products.php?department=$1&pid=$2 应该看起来像 http://mysite.com/browse/department?pid=1 要么 http://mysite.com/browse/department/?pid=1 我已经做到了这一点,但它没有问号有没有人知道如何得到它有问号 RewriteCond %{QUERY_STRING} ^$ RewriteRule browse/(.*)/pid=([0-9]+)$ show_products.php?department=$1&pid=$2 http://mysite.com/browse/department/pid=1
下面的代码以这种forms构build一个url。 http://mysite.com/browse/department/?pid=1 这里是重写cond和规则 RewriteCond %{QUERY_STRING} ^pid=([0-9]+) RewriteRule browse/(.*)/$ show_products.php?department=$1&pid=%1 我想要的是有2个额外的参数,第一个是购买订单,第二个不一定在过滤url,所以url会是这样的 http://mysite.com/browse/department/?pid=1&order_by=a_z 或使用参数filter http://mysite.com/browse/department/?pid=1&order_by=a_z&filter=1 我如何有我的重写条件和我的重写规则
当我写.htaccess这个mod_rewrite RewriteEngine on RewriteRule ^(.*)\.my_extension$ $1.php 并打开url: site.com/index.my_extension这个wroks很好,打开了index.php 但是当我尝试像这样mod_rewrite: RewriteEngine on RewriteRule ^(.*)$ index.php?url=$1 这给我Internal Server Error 。 为何发生这种事? 是什么原因?
我试图build立一个mod_rewrite规则,以便当网页www.mysite.com/blog被请求从博客服务Tumblr的页面被加载。 我已经build立了我的Tumblr网站,以便blog.mysite.com返回域名。 目前, www.mysite.com/blog blog.mysite.comredirect到blog.mysite.com 。 我想要的是www.mysite.com/blog显示blog.mysite.com和用户不知道blog.mysite.com 。 我尝试了几种不同的方法来实现这一点。 首先,我尝试使用重写规则: RewriteEngine On # Turn on the rewriting engine RewriteRule /blog/ http://blog.mysite.com/ [NC,P,L] 然后一个“ProxyPass”(尝试1) ProxyPass /blog/ http://blog.mysite.com/ 并尝试2: <Location /blog/> ProxyPass http://blog.mysite.com/ </Location> 然后,我看到另一个更复杂的mod_rewrite规则,我也试过: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^mysite.com/blog$ RewriteCond %{REQUEST_URI} !/standard RewriteRule ^(.*)$ http://blog.mysite.com$1 [R] </IfModule> 我将不胜感激任何build议如何最好地做到这一点。
我需要做以下的事情 将这个子域名映射到mywebsite.com/live/something,例如: www.live.mywebsite.com/ ==> www.mywebsite.com/live/ http://live.mywebsite.com/ ==> http://mywebsite.com/live/ www.live.mywebsite.com/something ==> www.mywebsite.com/live/something http://live.mywebsite.com/something ==> http://mywebsite.com/live/something 我想在网页浏览器中隐藏重写的url。 此网域将显示www.live.mywebsite.com/something而不是www.mywebsite.com/live/something 3- Live是wordpress中的一个类别的名称,没有文件夹叫做“live” 这是我在.htaccess RewriteEngine on RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.+)$ [NC] RewriteRule ^/(.*)$ http:// www\.%1/$1 [R=301,L] 仅供参考,我通过Parallels Power Panel添加了子域名。 还有一件事,我不能安装任何插件来完成这项工作。
我正在我的服务器上安装ToroPHP (PHP路由类)。 但是,这恰好是我的第一个Windows服务器,我正在试着学习它。 这是所需的ModRewrite代码,就好像它是Toro的Apache服务器一样: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php) RewriteRule ^(.*)$ /index.php/$1 [L] 我已经读过这两篇文章/问题,但是对于我的生活,我不知道为什么它不工作。 我希望有人能走过这个“Windows IIS移植版本”的每一部分… 这是我正在尝试,但它似乎并没有工作: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="toro" stopProcessing="true"> <match url="^(.*)$ /index.php/$1" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> <add input="{REQUEST_FILENAME}" pattern="{UrlEncode:{R:1}} !^(index\.php)" /> […]
我目前正在共享服务器上运行一个网站(HostGator)。 该网站没有SSL证书,并不真正需要它,因为它只是信息。 不过,我注意到有一些人错误地尝试使用SSL( https://www.mysite.com )进行连接。 我猜他们在浏览器窗口中replace了部分url。 目前,不是redirect到非SSL版本,我得到一个SSL连接错误(错误107)页面。 我假设因为通过港口的连接被拒绝。 我以为我可以只使用mod_rewriteredirect,所以我已经在我的.htaccess文件中尝试了以下内容,但似乎没有影响: RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 这个规则不是做我的想法吗? 或者这是不可能的,因为错误发生在mod_rewrite之前(可能是因为SSL的端口被阻止)?
我正在build立一个网站,需要包括一个“检查”程序,为用户的会话做几个启动任务。 例子包括检查他们是否接受cookie,确定他们的IP地址是否授予他们特定的权限等。 一旦检查完成,我需要将用户redirect到他们最初请求的页面。 该计划是使用RewriteCond并将所有URL映射到“发起者”,如果用户没有设置特定的cookie。 比方说,我想重写所有url(当然最终还是有一些条件),以便: /foo?original_url=… 其中…是请求的原始url,由url编码。 我得到的最接近的是这样的: RewriteRule ^(.*)$ http://localhost/php/cookie.php$1 [R=301] 然后,我可以通过PATH_INFO检查反向引用中捕获的原始URL。 但是,这是相当混乱 – 我更愿意将该值作为URLparameter passing