Articles of .htaccess

将子域redirect到特定页面

我正在尝试将http://pk.domain.comredirect到http://www.domain.com/home.php?country=pk ,同样地http://www.domain.com/pk/ http://www.domain.com/home.php?country=pk Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ – [L] RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.domain\.com$ [NC] RewriteRule ^([^/]+)/?$ adlisting.php?country=%1&category=$1 [L,QSA] RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.domain\.com$ [NC] RewriteRule ^([^/]+)/([^/]+)/?$ adlisting.php?country=%1&location=$1&category=$2 [L,QSA] RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] RewriteRule ^([az]{2})/([^/]+)/?$ adlisting.php?country=$1&category=$2 [L,QSA,NC] RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] RewriteRule ^([az]{2})/([^/]+)/([^/]+)/?$ adlisting.php?country=$1&location=$2&category=$3 [L,QSA,NC] 这个问题与多国使用.htacces链接

htaccess重写到子域

您好我有一个独立的网站,位于主服务器的子目录内。 子目录站点内的所有链接指向根,我想要捕获这些链接,并将它们发回到子目录而不是根目录。 这可能与htaccess?

.htaccess重写规则,以防止caching的CSS,JS,图像文件。

我已经试过?ver=478459东西来帮助阻止浏览器caching一些文件,如CSS,图像,JavaScript。 而且,我已经意识到它只有这么有帮助。 每次都不会出现工作。 例如,我必须偶尔进行VPN工作,无论出于何种原因,即使在上述文件末尾更改参数时,也会保留在caching中,直到清除为止。 我正在计算参数可能不会因为某些原因而停留,因为我通过代理运行。 但是,似乎也不总是这样。 无论如何。 我想弄清楚,如果有一种方法,我可以通过htaccess提供我的js,css,img文件的rewrite_rule,如果提供的URL是我不知道让我们说 /scripts/jquery/__ver<version number>__/filename.js /scripts/__ver<version number>__/filename2.js /scripts/3.0.x/__ver<version number>__/filename2.js /styles/jquery-ui/__ver<version number>__/filename.css /styles/__ver<version number>__/filename2.css /img/__ver<version number>__/something.png /img/dir/dir/dir/__ver<version number>__/something-else.png 基本上重写规则正在寻找这__ver<version number>__具体和<version number>是一个3点版本的逻辑或某种types的MD5 ..或东西基本上寻找_ver*_ 如果发现这种情况,重写规则将删除它,并使用没有该部​​分的path

如何对子目录进行dynamic修改

我的网页上有这个目录结构: rootOfweb/services/oneservice/service1.php rootOfweb/services/oneservice/service2.php rootOfweb/services/anothersercice/service1.php rootOfweb/services/anothersercice/service2.php www.example.com/index.php?sideID=nameOfService&p=services/oneservice/service2 我有这个代码在PHP中包括所需的文件: <?php if(isset($_GET["p"])) { $side = $_GET["p"]; include ($side.'.php'); } ?> 我有不同的名称上的不同的subdirs,我已经使一个mod_rewrite工作的条件之一: RewriteRule ^([a-åA-Å0-9_!-]+)/([a-åA-Å0-9_!-]+)$ index.php?sideID=$1&p=services/oneservice/$2 aboue规则适用于第一个服务(rootOfweb / services / oneservice / -all服务文件 – ) 我需要创build一个适用于所有子类的规则。

.htaccess允许访问一个文件和一个文件夹

我的文件夹结构看起来像这样。 -beta +folder1 +folder2 +folder3 file1.php file2.php 现在我想限制所有的文件和文件夹,但不是folder2和file2.php我怎么能写我的.htaccess来做到这一点。 这是我写的。 Options +FollowSymlinks RewriteEngine on RewriteCond %{REQUEST_URI} !/folder2%$ RewriteCond %{REQUEST_URI} !/file2.php RewriteRule $ /beta/file2.php [R=302,L] 不知何故,上述确实在一个系统中工作,而不是从其他系统中工作。 你能指出我在这里做错了吗? 谢谢, 萨哈

处理额外获取variables的Mod_rewrite(QSA不工作)

我有一个设置页面的mod重写规则:(localhost / settings / index.php) RewriteRule settings/([a-zA-Z0-9_]+)/?$ settings/?path=$1 [QSA,L] 我正在处理URL中的菜单引用,它将类似于: http://localhost/settings/xyz/?ref=menu1&abc=2&de=3.. 然而,用我目前的重写规则,variables不会传递,我没有得到ref,abc的值。 我在这里读到关于QSA的标志,但这似乎没有工作。 我究竟做错了什么?

如何绕过%23(散列符号)通过RewriteRule没有数据丢失?

我有以下.htaccess文件: RewriteEngine On RewriteCond %{REQUEST_URI} !^/command RewriteRule .* /command/rewritehandler.php?q=%{REQUEST_URI} [B] 看到目前尚未回答的问题的规格https://stackoverflow.com/questions/29376788/mod-rewrite-directives-and-valid-invalid-utf-8-characters-after-first-character 。 如果请求服务器以下/aaa%23%23aa那么rewritehandler.php只接收/aaa 。 看起来像REQUEST_URI只处理%23之前的数据。 我应该input什么?

使用参数redirect到主页url

我有以下的例子url,我需要redirect到www.example.co.uk http://www.example.co.uk/wordpress/?feed=comments-rss2 http://www.example.co.uk/wordpress/?feed=rss2 http://www.example.co.uk/wordpress/?cat=518 http://www.example.co.uk/wordpress/?cat=514 http://www.example.co.uk/wordpress/?cat=520 http://www.example.co.uk/wordpress/?cat=521 http://www.example.co.uk/wordpress/?cat=523 http://www.example.co.uk/wordpress/?cat=515 http://www.example.co.uk/wordpress/?p=119 这个列表还有更多的url,都有wordpress / notation。 我将不得不为每个像这样写一个有条件的重写: RewriteCond %{QUERY_STRING} ^feed=comments-rss2$ RewriteRule ^/wordpress/?(.*)$ http://www.example.co.uk [R=301,L] RewriteCond %{QUERY_STRING} ^cat=518$ RewriteRule ^/wordpress/?(.*)$ http://www.example.co.uk [R=301,L] 或者有一个规则,我可以写,redirect所有的URL / WordPress的redirect到www.example.co.uk

摆脱CodeIgniterurl中的Index.php

如何从我的url中删除“index.php”? 描述 使用CI构build一个简单的MySQL-Php应用程序,我不能摆脱URL内的“index.php”标签: localhost/CodeIgniter/index.php/Defult_Controller/index 的.htaccess application/.htaccess和application/cache/.htaccess : <IfModule mod_rewrite.c> # !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading # slashes. # If your page resides at # http://www.example.com/mypage/test1 # then use # RewriteBase /mypage/test1/ RewriteEngine On RewriteBase /CodeIgniter/ RewriteCond %{REQUEST_URI} ^system.* RewriteCond $1 !^(index\.php|images|js|uploads|css|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond […]

htaccess:无法检查dynamic文件的存在!

我已经写了一个dynamic的缩略图创build者的htaccess文件,看看是否存在请求的文件,如果不发送用户到PHP页面来创build它。 我的htaccess文件如下所示: # Check the formatting (this works) RewriteCond %{SCRIPT_FILENAME}%{QUERY_STRING} /([a-zA-Z0-9-]+).(jpg|gif|png)w=([0-9]+)&h=([0-9]+)(&c=(true|false)) # Only forward to thumbnail.php if file doesn't exist #RewriteCond %{REQUEST_FILENAME} !-f #this works but not for the correct filename! RewriteCond %1-%2-%3-%4-%6.jpg !-f # Doesn't work!!! # If file doesn't exist, send here: (this works) RewriteRule ^.*$ thumbnail.php?file_name=%1&type=%2&w=%3&h=%4&c=%6 我检查文件的存在似乎不工作,但是…使用%{REQUEST_FILENAME}的旧版本的作品,但这不是我需要检查的正确的文件名。 我已经validation了新文件%1-%2-%3-%4-%6.jpg具有正确的输出,但不触发条件! 基于以下url: this-is-the-image-name.gif?w=200&h=100&c=true htaccess文件应该检查​​这个文件是否存在: this-is-the-image-name-gif-200-100-true.jpg […]