我有这个规则: RewriteEngine On RewriteRule ^/page/([a-zA-Z0-9]+)\?(.*)$ /index.php?page=$1&$2 它应该采取这样的事情: /page/contact?cake=lie 并转到页面: /index.php?page=contact&cake=lie 我已经用RegExr和RegexPal等工具testing过了,它在那里工作。 但是当把它放入Apachesconfiguration,访问url给Apaches 404页面。 谁能帮忙?
我正在尝试使用PHP / .htaccess做另一个SEO系统… 我需要应用以下规则: 必须捕捉所有不以扩展名结尾的url(www.foo.com – > catch | www.foo.com/catch-me – > catch | www.foo.com/dont-catch.me – >不要抓)。 必须捕捉以.php *(.php,.php4 …)结尾的所有URL(这是规则#1的例外)。 所有的规则只能应用于某些目录,而不能应用于其子目录(目前为/和/ framework)。 htaccess必须在GET值中发送input的URL,这样我才能在PHP中使用它。 任何mod重写向导可以帮助我? 编辑: 确定阅读后提出的build议,我想出了这个,但我认为它卡在一个循环…任何人都可以帮忙吗? <IfModule mod_rewrite.c> RewriteEngine On # 1 RewriteCond %{REQUEST_FILENAME} !\.[^/]+$ [OR] # 2 RewriteCond %{REQUEST_FILENAME} \.php.*$ # 4 RewriteRule ^(.*)$ http://localhost/seo-urls/seo-urls-mapper.php%3Frequested=$1?%{QUERY_STRING} </IfModule> 因为我想在我的圣诞假期期间完成这个,所以我要添加赏金:)感谢您的帮助和节日快乐!
我试图得到一个失败的redirect,出于某种原因,我今天想不出来。 我在HTTPD中有一个vHost文件,用于监听标准端口80和端口443.我试图将https://domain.com/(。* )redirect到https://www.domain.com/ $ 1,url保持不变。 我的configuration如下: ServerName www.domain.com ServerAlias tempdomain.testdomain.co.uk ServerAlias domain.com 我正在使用的重写规则是。 RewriteCond%{HTTP_HOST} ^ domain \ .com $ RewriteRule ^(。*)$ https://www.domain.com $ 1 [R = 301,L] 我也尝试删除\。 和$但没有..当我访问的urlhttps://domain.com/secure.page?action=comp它不redirect到https://www.domain.com/secure.page?action=comp我也有其他的SSL页面,上面只是一个例子.. 任何人都可以指出我的愚蠢。
HI, 我有一个工作redirect,看起来像这样 RewriteRule ^(.*)weihnachtsshop/(.*)$ /hochzeitsshop [R=301,L] 像www.shop.com/weihnachtsshop/product.html的所有内容都可以重新访问www.shop.com/hochzeitsshop。 我现在的问题是,我需要这个redirect来排除所有图像,如www.shop.com/weihnachtsshop/product.jpg – 这些链接不应该被重写。 什么是最好的方法来解决这个问题? 拍
我有一个域,example.com。 这是我的apache2 ReWrite规则: RewriteEngine on RewriteRule ^([^/.]+)/?$ index.php?uname=$1 [L] 当我访问http://example.com/Eamorr时 , http://example.com/Eamorr出现在浏览器的地址栏中。 我希望http://www.example.com/index.php?uname=Eamorr出现在地址栏中! (我的JavaScript需要parsingGET参数) 这可能吗? 提前谢谢了,
我有一个旧的应用程序与URL的forms… http://apps.myserver.com/appname/viewItem.akt?p=123 我正在用一个像这样的URLreplace这个旧的应用程序… http://appname.myserver.com/item/123 我已经尝试添加几个不同的重写规则到httpd/httpd.conf并重新启动服务器,但我不断收到404错误。 我已经尝试了一些事情… RewriteEngine on RewriteRule ^.*viewItem.akt\?p=([0-9]*)$ http://appname.myserver.com/item/$1 [R] 要么… RewriteRule ^/appname/viewItem.akt\?p=([0-9]*)$ http://appname.myserver.com/item/$1 [R] 结果始终是“在此服务器上找不到所请求的URL /appname/viewItem.akt”,就好像重写规则不在那里一样。 我在访问日志中得到的是… [IP address] – – [09/Sep/2011:21:27:37 -0700] "GET /appname/viewItem.akt?p=1018 HTTP/1.0" 404 248 我testing了Rubular中的所有正则expression式,以确保它们匹配传入的请求。 我错过了什么? 如果它是相关的,旧的应用程序是运行在Tomcat下的Java应用程序,并且我有一个ProxyPass像这样设置… (我正在显示这些行注释,因为他们是当我试图让重写规则工作。) # ProxyPass /appname http://apps.myserver.com:8080/appname # ProxyPassReverse /appname http://apps.myserver.com:8080/appname 但是这不应该是正确的? 只要我的重写规则匹配请求,它应该正确地发送它,不应该吗?
我已经使用以下设置设置了我的服务器: server { server_name www.example.com listen 443; listen 80; location /login\.php { rewrite ^(.*) https://www.example.com/login.php$1 last; } .. other settings } 但是,使用此设置我收到一个redirect错误(太多的redirect)。 有没有办法告诉nginx,如果我有文件login.php,我想要SSL和所有其他文件没有它的服务?
现在,当我上传一个文件到我的amazon s3 buckert的url到这个文件看起来像这样: https://s3.amazonaws.com/<MY BUCKET NAME>/filename.extension 我想用这样的东西: cdn.mysite.com/filename.extension 如何才能做到这一点? 如果我需要通过CNAME执行此操作,请解释如何在terminal中执行此操作,因为我没有cPanel或任何其他GUI控制面板。
我想重写所有的请求到/index.php /css/*和/js/*除外。 这是我的原始configuration location / { try_files $uri /index.php$is_args$args; } 哪些工作,但让我直接访问所有文件。 我试过这个 location / { rewrite ^(.+)$ /index.php break; } 但无法通过像PHPparsing中断一样奇怪的错误。 当我得到/index.php重写工作,我假设我应该做一些像location /css/ { .. }等,但我不是很确定。 任何想法如何解决这个问题? 谢谢。
我收到了一些冲突的信息 – 官方的OpenLiteSpeed页面都说: OpenLiteSpeed支持Apache重写和 OpenLiteSpeed不支持.htaccess 有点困惑…什么是LiteSpeed Tech试图拉到这里?