我有一个网站在哪里使用mod_rewrite。 RewriteRule ^([^/]*)/([^/]*)\.html$ /?systemdomain=$1&page-slug=$2 [L,QSA] 可以生成一个url等 http://example.com/ny-sample-lawfirm-11415/drug-crimes.html ,这完美无缺。 这个物理path位于 /homepages/profiles 现在是这个问题,如果我有一个url,如; example.com/ny-sample-lawfirm-11415/newdirectory即使存在新的目录( /homepages/profiles/newdirectory ),我也会得到一个404错误 我将需要访问 example.com/ny-sample-lawfirm-11415/newdirectory example.com/ny-sample-lawfirm-11415/newdirectory/sub1 所有这一切都会生成一个404。通过.htaccess解决这个问题的任何方法。 不知道我是否应该修改重写或添加某种types的redirect。 任何帮助,将不胜感激
我在80端口的Apache服务器后面有一个端口8080的Tomcat服务器。 我有虚拟主机设置与mod_rewriteredirect到Tomcat使用下面的行000-default.conf: <VirtualHost *:80> ProxyPreserveHost Off ProxyRequests Off RewriteEngine On RewriteOptions inherit ServerName job.nvoids.in ServerAlias jobs.nvoids.com jobs.nvoids.in www.jobs.nvoids.in ProxyPass / http://localhost:8080/jobs/ ProxyPassReverse / http://localhost:8080/jobs/ ProxyPassReverseCookieDomain localhost:8080 job.nvoids.in </VirtualHost> 现在,我在Tomcat服务器上丢失了所有会话。 例如,我保留在每个页面加载的会话http://nvoids.in:8080/jobs/post.jsp (你可以在页面中看到会话ID),但不幸的是在http://job.nvoids.in /post.jsp我每次重新加载页面时都会收到一个新的会话。 如何保留Apache URL重写的会话?
我有两个Laravel站点:一个首页和一个API站点。 我的客户稍后会将子站点上的API站点分开,但目前客户希望从login页面的“子文件夹”内部提供API(主要是因为他还没有通配符SSL / TLS证书)。 它应该是这样的: http://example.com – 可能包含一些子路由的首页,例如http://example.com/contact-us http://example.com/api/ – API 我不想把两个项目的代码混在一起; 他们正在由不同的开发人员维护,因此将该文件夹映射为Apache VirtualHost似乎是一种方法。 我做了如下: <VirtualHost *:80> DocumentRoot "/sites/front-page/public" ServerName somedomain.com ServerAlias www.somedomain.com <Directory "/sites/front-page/public"> AllowOverride All Require all granted </Directory> Alias /api "/sites/api/public" <Directory "/sites/api/public"> AllowOverride All Require all granted </Directory> </VirtualHost> 现在,当我访问http://example.com/api/ ,确实从API网站调用了index.php 。 但是,如果我打电话http://example.com/api/some-resource它从头版网站调用index.php ,并失败,404找不到。 我也试过了 AliasMatch "^/api(/|$)(.*)" "/sites/api/public" 但是即使是http://example.com/api/ 403的禁止页面( http://example.com和它的path工作正常,虽然)失败了。 […]
我试图增加POST请求的大小,以便让用户上传“大”文件后,上传小(约2 Mb)的“413请求实体太大”的错误。 我的Apache2在Ubuntu 16.04上启用了mod_security2,所以我编辑了位于/etc/modsecurity/modsecurity.conf的configuration文件,添加: SecRequestBodyLimit 13107200 SecRequestBodyNoFilesLimit 13107200 即使我重启了Apache2,这个改变似乎被忽略了,因为我继续看到在POST中发送的2M字节的testing文件中有413个错误。 所以我打开了Apache2configuration文件/etc/apache2/sites-enabled/000-default.conf并用下面的代码编辑它: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined LimitRequestFieldSize 10000000 # <——- LimitRequestBody 10000000 # <——- </VirtualHost> 再说一遍,重启后没有运气。 最后更改是编辑php.ini,所以我添加了这个: post_max_filesize="10M" upload_max_filesize="10M" post_max_size="10M" 你猜怎么了? 我在尝试2M字节的文件时仍然有413个错误。 我真的不能看到另一种方式来实现,也许是有一些其他的configuration文件改变?
我正在尝试redirecturl,无法获取任何内容。 这是我希望做的事情: 旧url: www.example.com/asp.pl?_puri=astore.amazon.com%2Fthegi02-20%2Fdetail%2FB0001L0DFA%2Fassid 需要redirect到: www.example.com 任何人都知道有什么办法做到这一点? 如果你能算出来,我可以发送一个25美元的PayPal付款。 我需要它快速。
我需要创build一个redirect,这样的URL domain1.mysite.com/user/register 去 differentsite.com/user/register 这是我需要redirect的唯一的URL(其余的domain1.mysite.com保持在那里)。 整个网站(www.mysite.com,domain1.mysite.com,domain2.mysite.com等)只有一个htaccess文件,所以我不能只redirect/user/register因为www.mysite.com/user/register不应该被redirect。 (我可能最终得出这个结论,但mod_rewrite的规则和stream感不混合。) 谢谢!
我需要一些mod_rewrite规则的帮助。 我正在build立一个search引擎友好的名称导演,并遇到一些问题,我知道有一个简单的答案,但我不能得到它的工作来挽救我的生命。 以下是我们想要发布的示例url http://www.foo.com/bar/ca/marina-del-ray/first-last.html 后端url需要如下所示 /酒吧/?searchState = CA&searchCity =docker+德尔+射线的firstName&第一=&lastName的最后= 正如你所看到的城市,我需要用“+”replace“ – ” 任何帮助都会大大的提高,我希望能够使这个规则足够dynamic,如果一个城市名称包含1或15个单词,它仍然会转移,而不必为每个创build15个独立的规则。 非常感谢任何input或解决scheme。
我使用debian上运行的Apache2服务器,将所有http请求转发到安装在同一台机器上的tomcat。 我在/ etc / apache2 /文件夹下有两个文件 apache2.conf和httpd.conf 我修改httpd.conf文件看起来像下面。 #将端口80上的所有http请求转发给tomcat ProxyPass / ajp://127.0.0.1:8009 / ProxyPassReverse / ajp://127.0.0.1:8009 / #gzip文字内容 AddOutputFilterByType DEFLATE text / plain AddOutputFilterByType DEFLATE text / html AddOutputFilterByType DEFLATE text / xml AddOutputFilterByType DEFLATE文本/ css AddOutputFilterByType DEFLATE text / javascript AddOutputFilterByType DEFLATE application / xml AddOutputFilterByType DEFLATE application / xhtml + xml AddOutputFilterByType DEFLATE应用程序/ […]
我正在做301redirect旧网站到一个单一的网站,而不是必须添加相同的RewriteRule多一次,有没有办法说写一次? 这样我只需要添加rewriteCond一次? 我目前的代码 RewriteEngine on RewriteCond %{HTTP_HOST} ^Oldsite.local [NC] RewriteRule ^(.*)$ newSite.local%2 [L,R=301] RewriteCond %{HTTP_HOST} ^Oldsite2.local [NC] RewriteRule ^(.*)$ newSite.local%2 [L,R=301] 我试过:RewriteEngine RewriteCond %{HTTP_HOST} ^Oldsite.local [NC] RewriteCond %{HTTP_HOST} ^Oldsite2.local [NC] RewriteRule ^(.*)$ newSite.local%2 [L,R=301] 但似乎没有工作
Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L] 正在运行上面的代码,当你去http://www.mydomain.com剥去www,但我怎么得到它也去掉www当你去一个子目录等http://www.mydomain。 com /用户 ?