Apache :: Mod Rewrite Not Works With Existing Directory
Mar 14, 2013Why my rules don't work as I want?
I want to make hidden rewrite from url like host.sk/dir/dir2
Why my rules don't work as I want?
I want to make hidden rewrite from url like host.sk/dir/dir2
I'm using .htaccess to show existing images instead of images which does not exist.
RewriteBase /images/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)_(.*)1200x900.jpg$ esittely_$21200x900.jpg
RewriteRule liiga1200x10.jpg esittely1200x10.jpg
RewriteRule liiga670x10.jpg esittely670x10.jpg [L]
Everyting works fine if an image does not exist.
But if an image does exist, the second RewriteRule
RewriteRule liiga1200x10.jpg esittely1200x10.jpg
will be used.
Why is that so? How could I modify my code to prevent that?Â
I would like to write a rewrite rule that does the following:
RewriteEngine On
Redirect 301 URL...
So what I want is that the first url is rewritten to go to the second ..I have a whole bunch of links that I have to redirect, so I would like to place them all into one .htaccess file or into the default configuration file of apache. So what I do not want is to create SomeFolder1 and someOtherFolder2 and to place a .htaccess file into that place in order to make it work. In fact I want to ignore the folders of the old link and only use the pagename.
in wordpress is wp-includes folder, i dont want anyone just execute file from this directory so it just serve wordpress not any malicious file be executed from there,
so i added this rule into /wp-includes/.htaccess:
RewriteRule ^(wp-includes)/.*$ ./ [NC,R=301,L]
I finally bought a VPS after not being able to pay for a dedicated server so I bought one from VPSbyte.com as they came highly recomended $39.95 server with Cpanel not the cheapest I gathered but I wanted reliable servers
now I moved my forum over to the server all was ok after I got the massive database sent over but when I tried to view a thread or category I could not it came back with No Valid input or something like that
I went into admin and disabled zoints SEO mod and the forum works fine BTW its a VB forum.
would it be due to mod rewrite that the forum does not work with zoints? and is it possible to get it to work?
i'd like to use a code similar to the one below, to rewrite a sub directory to a subdomain. www.domain.com/aoa/info/ to info.domain.com and then error 301 if someone goes to www.domain.com/aoa/info/ directly
# rewrite foo subdomain requests to foo subdirectory
rewriteCond %{HTTP_HOST} ^foo.example.com
rewriteCond %{REQUEST_URI} !^/foo/
rewriteRule (.*) /foo/$1 [L]
#
# Prevent direct client access to foo subdirectory
rewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /foo [NC]
rewriteRule ^foo(.+) [url]
I dowload a scripts with a .htaccess file
Code:
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^link/([0-9]+)[/]*$ /redirect.php?id=$1
RewriteRule ^link/([a-zA-Z0-9]+)[/]*$ /redirect.php?tag=$1
I want to convert it to lighttpd rewrite rules, urgent, also I can't contact with the scripts author,
I have the following Apache redirect code in .htaccess:
RewriteRule ^sap-latest-news/([0-9]*)/([A-Za-z0-9_-.]*).htm$ /domain.com/app/modules/content/latestNews.php?id=$1 [L]
This redirect works fine on Apache 2.2.8, but doesn't work on Apache 1.3.41
The following is the entry from error_log:
RewriteRule: cannot compile regular expression '^sap-latest-news/([0-9]*)/([A-Za-z0-9_-.]*).htm$'
A simple Rewrite is working fine in Apache 1.3, but the above regualar expression doesn't seem to be working on Apache 1.3. Does anyone know whether Apache 1.3 doesn't support it?
I don't know why apache not works you can demo here : [url] Two command i've tested:
- /etc/init.d/httpd status
Quote:
Not Found
The requested URL /server-status was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an
ErrorDocument to handle the request.
_________________________________________________________________
Apache/1.3.37 Server at server.xxx.org Port 80
-/etc/init.d/httpd start
Quote:
/etc/init.d/httpd start: httpd (pid 17885) already running
How to enable apache software .
I'm trying to integrate the websocket into existing application.Based on my search, i found a websocket module to do this, but it isn't updated yet. URL...
Any chance that the module will be included in Apache ? Also i found in StackOverflow conversation that Apache httpd wasn't design to maintain persistent connection, is that true ? Using WebSocket on Apache server. Should continue using Apache websocket module or using separate websocket server ?
I need to create a redirect to a non existing page.
Here is my code and the site is on shared hosting
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index2.php#!(.*)$ /index2.php/$1 [R=301,L]
</IfModule>
This would be [URL] ....
I would like to redirect Every request with "#!string" to new url (same page) - [URL] ....
I know that the code above needs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
to be added but it doesnt even makes the redirect to 404. The url doesn't change.
I am currently running a dev server out of my home. The setup is as follows:
Server is Windows Server 2008.
Apache is running, listening on port 88. On this, I have subversion and TRAC.
IIS is running, listening on default port 80. On this I have an ASP.NET web site that pulls its code from subversion.
Router is a standard Linksys WRT54G.
Router is open as can be, just to test it. Server is in DMZ, all ports are forwarded to its IP (TCP and UDP), etc. This will change, but during setup state, it is what it is.
default.aspx is set up as default document in IIS. Folders are mapped correctly. The file exists in the physical directory it's looking at.
the only site and only Application pool in IIS are for the site in question.
The issue:
Both Apache and IIS work great on my local network.
Both Apache and IIS work great on wireless network.
However, in the wild, WAN works for the apache (port 88) but not IIS. Typing in http://[ip address]:88 or any of the subdirectories works fine. Typing in http://[ip address]/default.aspx returns, in Firefox, "Connection Interrupted -- the connection to the server was reset while the page was loading".
Windows firewall is disabled and unbound from all protocols. As specified, I've opened up the server and router as much as possible temporarily in order to allow me to lock it down again step by step once I have the issue solved.
I am doing my web like this:
1) nginx listening at port 80
2) apache listening at port 78
3) nginx throws all shtml pages to apache
they are working perfectly, except one small thing:
I don't want any public visitor may visit port 78 directly, for now, both:
[url]
[url]
are working for visitors.
Anybody knows how to block/hide port 78 to the public access?
my nginx config snippet:
Code:
location = /index.shtml {
proxy_pass [url]
}
my apache2 config snippet:
Code:
Listen 78
If I make apache as follows:
Code:
Listen 127.0.0.1:78
I will get 502 bad gateway when I visit:
[url]
I am trying to make Apache SSL work on my SAP BO Environment. I have implemented SSL parameters and conf and now when i access:
http://localhost:<portno>/index.html - It Works !!
https://localhost:<sslPortNo>/index.html - It Works !!
BUT, when i try to login to
http://localhost:<portno>/BOE/BI -- It works !!
https://localhost:<sslPortNo>/BOE/BI -- It DOES NOT work.
I found a socket available other than 80 which would not allow me to use. I set it in the conf file as 1800 and then go to apache/bin directory and load httpd.exe. When I go to the browser, I have to type in http://localhost:1800 for it to work once. If I close the browser and try again, or I try a php file, it says it can't find localhost. I have to stop httpd.exe and reload, then it will work once.
Do I have to find a way to use socket 80 for it to work?
My customer wants a Windows system - but I'm rusty at best in Windows.I downloaded VC11 x86 Thread Safe (2013-Nov-13 20:57:44), unpacked it, moved it to it's own directory, edited httpd.conf (no auto installation) and confirmed it was working (localhost/index.html)
I added PHP and ran a PHP info - a little trouble getting the php.ini found.Apache seems to work fine on the local system - either localhost/index.html or nn.nn.nn.nn/.But remote browsers timeout when attempting to connect.
1. I've opened command as administrator and run httpd.exe directly
2. I've installed httpd.exe as a service, opened it's properties window and started it from there
3. Changed the listen port to 8080
4. netstat sees the remote browser with a waiting connection - and the local service
5. The Windows system is on my Mac network (same systems where the remote browser is) and I have transferred megabytes of files between the two systems.
In Component Services - the Apache2.4 service shows Log On As 'Local Service' - I'm guessing it should show as 'Network Service.I tried changing this - used the local user login - restarted the service. I didn't see any way to change it to 'Network Service'. Perhaps this is the problem?
ODDLY - the remote browser worked briefly - then failed with the same 'time out'.I'm guessing this is something simple that I don't understand about Windows - (then again, since I don't understand much about Windows, it could be complicated too).
RewriteRule ^massaggi-([^/]*)$ /an.php?prov=$1 [L]
View 1 Replies View RelatedI have vhost setup for test of a new website. I want to allow access on the localhost, and, from one IP from the Internet (redacted). Apache serves the site just fine on the server but I can't access the site from my the "xxx...." IP.
I'm using a physical path to test from the public IP as follows:
xxx.xxx.xxx.xxx/~user/test/index.html
I have vhost setup for test of a new website. I want to allow access on the localhost, and, from one IP from the Internet (redacted). Apache serves the site just fine on the server but I can't access the site from my the "xxx...." IP.
I'm using a physical path to test from the public IP as follows:
Quote:
http://xxx.xxx.xxx.xxx/~user/test/index.html
Apache v2.2
RHEL6
UserDir configured/running
SuExec configured/running
Below is the relevant vhost block in httpd.conf:
Code:
<VirtualHost *:80>
ServerName test
ServerAlias test
DocumentRoot /home/user/public_html/test
<IfModule mod_fcgid.c>
[Code] .....
I don't have a FQDN as yet, so I just made a entry in /etc/hosts as follows:
Code:
127.0.0.1 test
Here is an excerpt from the Apache error log:
Quote:
[Mon Jun 17 12:02:16 2013] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/user/public_html/test/index.html
I've checked the firewall and the /etc/hosts.allow- that's not it. I've read the Apache docs and in the vhost block Allow should be evaluated last, and apparently is matching localhost but is not matching my IP.
OS: RHEL 6.4
SELinux: permissive mode
Apache: 2.2, mod_fcgid, mod_suxec, mod_ssl enabled
Common Name: www.user.dept.university.edu
(Note:user names, accounts, organizations etc. sanitized)
why Apache will serve PHP-based web pages over port 80 but not over 443. Here is the virtual host block excerpt from httpd.conf:
Code:
<VirtualHost *:80>
ServerName user.dept.univsersity.edu
ServerAlias user
DocumentRoot /home/user/public_html/subdirectory
<IfModule mod_fcgid.c>
[Code] .....
how can i url rewrite, i tried to myself but failed miserably!.host.com/movie.php?id=123, 123 being any number!to: host.com/movie/123
View 3 Replies View RelatedI have all my specify modules are loaded in pache like mod_rewrite in other face I have a script need require mod_rewrite in install steps but I have in testing : Apache Mod-Rewrite Unavailable
but when I run httpd -l I get this list
PHP Code:
[root@server ~]# httpd -lCompiled in modules: core.c prefork.c http_core.c mod_so.c[root@server ~]#
With this whole no-www thing going on. I've decided to have a look at whether I can do this for my domains.
Instead of writing a
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ h77p://domain.com/$1 [R=301,L]
for every single domain I'd like to do this for across all domains as standard. I'm not too hot on rewrite rules and have in the past avoided them cos of the complexities. But I'd like to get this done, and no silently do it, but reflect the URL difference in the webbrowsers address bar too.
I'm trying to rewrite the following URL, and the rewrite seems to work, but doesn't forward to the rewritten page.
From: domain.com/index.php?random
To: domain.com/random
RewriteRule ^random$ /index.php?random [L]
I have been trying to figure out how to do a url rewrite but no luck so far.
How can I have this [URL] ....
as the default [URL] ....
On my website at www.jamescobban.net I have a directory which contains an ancient copy of my old static implementation of the site. It is there just in case someone has saved a old URL. However the data in that directory is several years out of date, so I would like to redirect the old static URLs to the equivalent dynamic URLs. For example: URLs.....
I wasn't warned that the <Directory> in the Apache conf file has to specify AllowOverride All whereas the default that is created when I install Ubuntu is AllowOverride None.I wasn't warned that I have to enable the mod_rewrite using a2enmod or else the rewrite commands are rejected.I am testing this on my private copy of the web-site where I can fiddle with options like that in the config file, but when I migrate this to my public server I do not have that privilege, so I want to try setting up the URL rewriting in .htaccess.
I'm running Apache 2.4.4 Win32 on a Windows 2008 server. When trying to optimize a website I noticed a random reoccurring 2550ms delay in Time To First Byte. A file could have a TTFB of 200ms several times but suddenly it would get 2750ms. This could be a static file (image, html, js) or php. I've measured using ApacheBench (locally and remotely), webpagetest.org and bytecheck.com. After much trial and error I found the problem was with mod_rewrite. Disabling this and everything is fine.
I have setup a blank/new install with only basic config change (Listen, ServerRoot etc) to replicate result without anything else interfering. Following is the rewrite section I add to config.
Code:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule (^/Pictures.*) /$1 [L]
</IfModule>
After Apache has started I execute "ab http://my.example.com/Pictures/Thumbnails/tmb_400X400_FFFFFF_660.jpg" and always get the delay. If I execute again it's normal. If I wait at least 30 seconds I get the delay. Following is a section from error.log with trace8 logging.
Code:
[Tue Mar 12 23:28:56.123519 2013] [rewrite:trace3] [pid 7624:tid 888] mod_rewrite.c(468): [client 69.x.y.90:36279] 69.x.y.90 - - [my.example.com/sid#42c748][rid#26df0d0/initial] applying pattern '(^/Pictures.*)' to uri '/Pictures/Thumbnails/tmb_400X400_FFFFFF_660.jpg'
[Code] ....
As you see from line 3 to line 4 the time skips 2550ms. When the TTFB is normal then the log is identical except time doesn't change from line 3 to line 4. If I delete the rewrite section in config then TTFB is always normal, no matter what.
When I testet on the live server the time for fully loaded increase from 3800-4000ms to 8500-10500ms when mod_rewrite is enabled. And that is about 30 requests (php+css+js+images). So the impact is significant.
What can this be? I'm having a hard time believing it's a bug. Isn't mod_rewrite used a lot? I'm running Ubuntu (linux) at home, I'm going to install Apache there and see if I get the same result.
In my web site I have several index pages in different languages in the following format
[URL] ....
Two days ago I noticed increased, many times. Google bot activity on my site and when I checked my log file I found that all pages crawled were wrong web addresses: to the above index were added existing files from my site like
/folder1/folder2/file.html
So, the strings looked like
[URL] ....
And surprisingly all they returned code "200".
My question is: is there any way to rewrite such requests to the first ".html" found in the string.