我是htaccess的初学者,那么有人能帮我描述一下这些行的含义吗?htaccess正在将所有请求重写到/index.php,除了重写库中存在的目录和物理文件(这个.htaccess看起来像是所在的目录)。对于许多框架和内容管理系统来说,这是一种相当标准的做法,可以实现“漂亮”的URL(如堆栈溢出)
您可能还对感兴趣。该.htaccess正在将所有请求重写到/index.php,但重写库(该.htaccess所在的目录)中存在的目录和物理文件除外。对于许多框架和内容管理系统来说,这是一种相当标准
标签: .htaccess
url-redirectionhttp-status-code-301
例如,如何使用.htaccess将子目录/Blog/重定向到/Blog/
RewriteEngine on
RewriteBase /path/to/your/web/app
RewriteRule ^Blog$ blog [R=301,L]
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L]
可能有比mod_rewrite更好的方法,而且我不能100%确定外部重定向是否能正常工作--您可能需要完整的URL--但就这样
Redirect 301 /Blog /b
我在使用.htaccess重写动态URL时遇到了一些问题。重写应该相当简单,但我遗漏了一些东西,非常感谢您的帮助
URL方案:
http://www.example.com/index.php?p=/category/page-slug
应翻译为:
http://www.example.com/category/page-slug
及
应成为:
http://www.example.com/category/feed/rss
我当前的重写规则是:
RewriteRule ^(.+)?$ i
我有一个网站是在一个VPS与directadmin控制面板,但我刚刚移动到另一个VPS与Cpanel。它过去在旧VPS上wan时工作,但在新VPS中我无法使其工作
我的脚本是CodeIgniter脚本,在此脚本中,此url:
www.mydomain.com/index.php/news
应转换为:
www.mydomain.com/news
但是在使用htaccess之后,我可以打开主页(index.php),但是当我想访问www.mydomain.com/news(这应该被htacces
过去一个小时我一直在搞这个。。。访问了大约20个不同的Google Tut,我似乎无法让我的网站以任何方式重写url。我甚至试着把.php改成.html,但我一点运气都没有
以下是我的众多失败之一:
RewriteEngine on
RewriteRule viewItem(.*)\.htm$ /viewItem.php?id=$1
对于上面这一个,我只是尝试将我的viewItem.php页面更改为viewItem.html
我的最终目标是改变hxxp://mydomain.com/viewI
我在根目录下有一些文件,我只想从子域(例如:build.mydomain.com)获得这些文件,如果您转到基本域(例如:www.mydomain.com),您应该被指向一个特定的文件
这是可能的,还是我必须把文件放在自己的目录中,以“正常”的方式创建子域?您可以使用mod_rewrite,并使用RewriteCond%{HTTP_HOST}www.mydomain.com将重写规则仅应用于该特定域名。“在根目录上有一些文件,我只想从子域中获得。”你能解释一下吗?
为什么下面的代码会运行到重定向循环中
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^12\.16\.15\.17
RewriteCond %{REQUEST_URI} !^/maintenance\.php$
RewriteCond %{REQUEST_URI} !^/resources/(.*)$
RewriteRule ^(.*)$ /jgel/maintenance.php [R=307,L]
Resources是
我有一个网站正在使用www.domain.com而不是domain.com
但是SSL证书仅对domain.com有效(https://domain.com). 所以如果我打电话,就会出错
我的问题是,我是否可以通过htaccess进行从到的无声重定向?
谢谢
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [L,
我花了一些时间,但不知道出了什么问题。我正在使用CodeIgniter 2.1.0
所以基本上是这样的:
我的分页设置:
$config['base_url'] = base_url() . '/stores/';
$config['total_rows'] = $this->stores_model->getTotalRows();
$config['per_page'] = 20; //display 20 rows per page
$config['num_links'] =
我需要http://profiles.mysite.com/Me显示所需内容http://mysite.com/profile.php?user=Me将显示
“我”根据用户名的不同而变化。它可以包含空格,而不是真正的文件夹
我不想更改地址栏中的URL。将以下代码放入web根目录中的.htaccess文件中,可以满足您的需要:
RewriteCond %{HTTP_HOST} ^profiles.mysite.com
RewriteRule ^(.*)$ mysite.com/profile.ph
可以使用htaccess将下划线“\u1”替换为“/”?
例如,我想要这个
保持健康
有可能吗?您可以使用:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1/$2/$3/$4/$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([
我一直在用Yii做一些实验,看看它是否适合我的需要。我想启用的第一件事是用户友好的URL
我想要实现的是:从这个URLwebapproot/index.php?r=site/contact转到这个URLwebapproot/contact
我所做的:
使用Yiic创建了一个应用程序(php YiiRoot/framework/Yiic.php webapp testdrive)
遵循的步骤2和6(“用户友好URL”和“hidden index.php”)
结果是我一直得到一个404。你知道我
当我添加“虚荣URL”功能时,我不得不修改我的.htaccess文件,该功能允许我的网站成员以myWebsite/membersName的形式输入URL,并将其转发到他们的主页,在添加虚荣URL功能之前,该主页应以myWebsite/member profile.php?member_id=123456的形式
除了URL指向myWebsite/someDirectory之类的目录外,其他一切都正常工作,但我会被重定向到.htaccess文件中指定的错误页面
我是一名PHP程序员,但我不太熟悉重写
我正在尝试使用htaccess for SLIR图像大小调整插件获得漂亮的URL
我想重写如下内容:
重写前:
localhost/img/600x400/slider/image.jpg
重写后
localhost/application/public/slir/index.php?r=slir&w=600&h=400&i=img/slider/image.jpg
但是下面的代码返回一个500内部服务器错误
<IfModule mod_rewrite.c>
RewriteEngi
我最近将一个静态站点升级为CMS,我想将旧站点的所有html文件重定向到该站点的根目录(http://www.url.com),而不影响CMS的PHP
当前的htaccess看起来是这样的
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCon
当查询字符串中存在s=stick\u path或s=stick\u relative时,我希望允许访问我的站点,否则拒绝访问。e、 g当www.domain.com/?s=stick\u path时允许访问,但当www.domain.com/?s=ck\u relative或www.domain.com/?s=action\u path时拒绝访问
我尝试了一些简单的例子,比如www.domain.com/?s=stick\u path,但它似乎不起作用
RewriteCond %{QUE
我目前正在使用以下命令强制每个人使用https。我只想为127.0.0.1禁用此功能
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
您可以向IP添加一个附加条件,如下所示:
RewriteCond %{HTTPS} !=on
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteRule ^ https://%{HTTP_HO
我有一个动态生成的url:/folder/folder/folder/index.php?product=bike
我需要将其转换为静态url:/folder/folder/folder/folder/product/bike
.htaccess位于根文件夹中
代码
假设您需要将。/index.php?product=bike重写为。/product/bike/
RewriteCond %{QUERY_STRING} (^|&)product=(.*)(&|$)
RewriteR
我有这个htaccess代码,它将整个站点重定向到其他站点
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]
它重定向我的整个网站和主页。如何指定不想重定向的页面
提前多谢了 添加一些条件:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/$
RewriteCon
我的.htaccess文件中有以下代码:
RewriteRule ^([0-9A-Za-z]{12})(\/.+|\.html?|$) /stuff/index.cgi?etc=dostuff [L]
使用此规则,用户可以访问URL,如:
http://domain.com/by6xq1ybc7zz/something.html
我想在伪路径/by6xq1ybc7zz中包含css、js和php
现在我必须从父目录加载文件。我想从当前目录加载文件
现在我必须从父目录加载文件:
<
我想如果有人像这样键入url
然后它将被重定向到首先在部分或在httpd.conf文件的末尾添加这一行:
RewriteMap lc int:tolower
然后将此规则保存在.htaccess文件中:
RewriteEngine on
RewriteRule ^(.*?[A-Z].*)$ /${lc:$1} [R=301,L]
可能重复的我不明白,请让我知道怎么做?谢谢你的回答,但我不知道这个文件在哪里找到http.conf,我写这行到htaccess它重定向到主网站url,但我希望它
在我的代码的生产版本中,文件夹“members”位于生产服务器的根目录中。“成员”文件夹中的链接的格式类似于/members/
在我的代码的开发版本中,文件夹“project”位于开发服务器的根目录中,因为该服务器上有多个项目。“成员”文件夹中的链接格式类似于/project/members/
我不想手动更改链接,例如每次上载新版本时。如何将.htaccess中的/members/重定向到/project/members/
重定向/members//project/members/不起作用,因为
我已多次成功地在根目录中安装CI,但现在我被迫在中安装CI
存在一个控制器“登录”和一个操作“索引”
.htaccess文件如下所示:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /mvc
RewriteRule ^(.*)$ index.php?/$1 [L]
在config/config.php中
$config['base_url'] = 'https://mydomain.com/mvc/';
$conf
我正在与JomSocial建立Joomla 3网站
JomSocial中的一个功能是“friends”,但我们更希望该功能被称为“contacts”,因此我想知道是否有可能在搜索引擎友好的url中重写/替换一个短语
因此,现在URL类似于www.domain.com/community/friends,Joomla SEF URL处于打开状态
我们希望使用.htaccess重写规则将其更改为www.domain.com/community/contacts
这也适用于其他URL,如/commun
下面是我的目录结构
Root (example.com)/
index.htm
contact.htm
privacy.htm
disclaimer.htm
cat/
play/
fun.htm
我想将所有页面重定向到https,索引页面除外。这意味着:/或index或index.php
此外,如果有人使用httpshttps进入索引页面,它会将他重定向到httphttp
我该怎么做
谢谢你,对我的英语感到抱歉试试:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule !^(index(\.php)?)?$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
谢谢如果其他人想这样做:我还添加了priv
我可能有一个相当简单的mod_重写问题,但是我不知道如何用谷歌搜索,以及如何以最好的方式完成
在我的php/html代码中,我有链接到/directory/file.php
但是,/directory/实际上并不存在,文件.php位于服务器的根目录中。我只想在url中添加/directory/,使其更有意义
我该怎么做?您可以在文档中使用此代码。\u ROOT/.htaccess文件:
RewriteEngine On
RewriteRule ^directory/(.+?\.php)$ /$
上有一个“通用htaccess将www重定向到非www”的解决方案。它使站点301从www重定向到非www,而无需指定域名
看起来是这样的:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
我试图完成的是向其中添加一条规则,其中/home重定向到根目录
换句话说
及
去
不管域名是什么
但我不知道如何使用。您可以使
您好,我可以,我如何允许访问名为“bDir”的目录,该目录是“aDir”的子目录
在my.htaccess中:
## Begin - Security
# Block all direct access for these folders
RewriteRule ^(aDir|bin|logs)/(.*) error [L]
. . .
换句话说,“bDir”在“aDir”中,我需要web访问。在此规则之前,您需要明确声明“bDir”的路径
比如:
RewriteRule ^aDir/bDir
有人从nice place链接到我的网站,但那个笨蛋键入了错误的URL,他在最后做了%20(可能是他的网站做的)。所以我想重定向到,因为这当然是因为它不是有效的URL
我试过这个:
rewriterule ^%20(.*)$ http://example.com$1 [r=301,nc]
但它就是不起作用。看起来必须以某种方式转义%字符。所以我也试过了
rewriterule ^\%20(.*)$ http://example.com$1 [r=301,nc]
通过转义赋予%其原始含义,但它
我一直在尝试重定向我下面的url
http://example.com/En/product_de.php?123
到
这是我的密码
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([^&]+)
RewriteRule ^/?product_de\.php$ http://example.com/En/products/%1 [L,R=301]
我做错了什么请帮助我在目录上下文中,RewriteRule的第一个参数是相对于目录的。.
我一直在寻找这个问题,但没有解决办法,也许我问的问题不对,但无论如何
我正在开发一个新的HTML网站,并将其替换为一个已在域中的.ASP网站,我想确保当该网站上线时,从谷歌转到“site.com/contact.aspx”的每个人都将被301重定向到“site.com/contact.HTML”(用于搜索引擎优化和用户体验目的)
我需要在所有页面上都有这个。页面URL和目录的设计和以前一样,只是页面格式改为HTML而不是.ASP
有没有.htaccess解决方案
(我们正在从windows服务器
我读了报纸
它要求将下面的代码添加到.htaccess文件中
<Directory /var/www/example.com>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>
重新启动
我有很多子目录是由谷歌抓取,我想永久转发,如果从任何目录的请求,它必须转发到主域
比如:
From: www.domain.com/help/software/desktop/index.php
To: www.domain.com
我的完整htaccess文件是
#RewriteEngine on
#RewriteRule ^cosa/(.*)$ /$1 [R=301,L]
RedirectMatch 301 ^/.+/.+\.php$ /
在您的htaccess中尝试以下操作:
Red
我希望将所有地址路由到我的“router.php”文件,除非它是一个文件或目录。到目前为止,我有:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /router.php [L]
</IfModule>
重新启动发动机
重写cond%{REQUEST_FILEN
我用它来保护我的网站管理员
第一步。在根目录中创建一个新目录(例如“newadminurl”)
第二步。在“newadminurl”目录中创建index.php文件
$admin_cookie_code="3429020892";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");
第三步。将其添加到真实Joomla管理员目录的.hta
我想为我的一个站点创建CSP
我在.htaccess中为脚本、样式、图像和字体定义了CSP,但有一件事我总是无法理解
"default-src 'none';script-src 'unsafe-inline' 'self' *.googleapis.com *.google-analytics.com;style-src 'unsafe-inline' 'self' *.bootstrapcdn.com *.googleapis.com; font-src 'self' fonts.gstat
我制作了Ajax导航,从div中的/pages文件调用页面,我尝试了很多方法从我的url中删除.php,但我找不到解决方案
这是我的.htaccess文件:
Options+多视图+FollowSymLinks
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([a-zA-Z0-9\-]+)\.php$index.php?p=$1[L]
重写规则^pages/([a-z0-9\-]+)$inde
此规则将URL转换为
到友好的URL,如
它工作得很好。但是,目前旧的URL(如)在google中被编入索引。所以,除了这个规则之外,我还需要将所有旧URL(比如)重定向到新的友好URL(比如),这样当访问者访问旧URL时,他会被重定向到友好URL。我写下了这条规则:
RewriteCond %{QUERY_STRING} ^page=([^&]+)$ [NC]
RewriteRule ^index\.php$ http://www.example.pl/%1? [NC,R=301,L]
在IIS mod_重写模块中导入.htaccess文件时出现问题。
出现3个错误
.htaccess`
Options+FollowSymLinks-索引-多视图AddDefaultCharset UTF-8
重新启动发动机
##如果您的NeoFrag目录不在http根目录下
##您需要将“/”替换为正确的目录,例如“RewriteBase/neofrag/”
重写基/
##允许直接访问特定目录
#重写条件%{REQUEST_URI}^/(dir1|dir2)/
#重写规则。*-[L,QSA]
我对drupal多站点设置有问题。我在同一drupal安装中有4个网站:
www.example.com/fr,www.example.es,www.example.it,www.example.be/fr
我在htaccess文件中应用公共https重定向规则:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
所有以“/fr
我想将我的非www域重定向到www和子文件夹
我能够用此代码将域重定向到子文件夹
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC]
RewriteRule !^subdir/ /subdir%{REQUEST_URI} [L,NC]
现在我想将我的域名重定向到www。我该怎么做
如果我尝试将www添加到域的前面,它仍然会显示一个非www域您可以使用以下内容:
RewriteEngine on
#redirect non-www to w
我把一个.htaccess文件放在我托管网站的目录中/var/www/html
然而,它并没有被阅读
我尝试在httpd配置文件中更改AlowOverride
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
检查apache是否加载了
我想清理我的URL,例如:
www.example.com/category/somepage/?gclid=adasda
或
www.example.com/category/somepage?msclickid=adasda
将来
www.example.com/category/somepage
在不松开gclid参数的情况下
我尝试了这个,但是我在google analytics中丢失了我的参数,我需要在不丢失该参数的情况下清理URL。谷歌分析无法查看参数
if(history.repl
从服务器日志中,我最近注意到googlebot正在为不存在的URI获取http状态200响应
https://turkishclassified.com/?KKId=3914
https://turkishclassified.com/?KKId=4031
https://turkishclassified.com/?KKId=2890
但是,没有/?返回http状态404,并且是正确的响应
https://turkishclassified.com/KKId=3914
https://tur
我正在尝试301重定向。但它不会被重定向
我的旧网址:
我的新网址:
.htaccess中的我的代码:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([^&]&)*filter=Short%20Term%20Renting(&|$)
RewriteRule ^category.php/services$ /short-term-renting? [L,R=301]
我引用了此链接“您正在匹配^category.php/se
我想禁止robots.txt中的header.php被索引。
文件url:
https://example.com/header.php
但我不确定什么是正确的:
Disallow: /header.php
或
robots.txt中指定的URL路径应始终以斜杠开头(即相对根)
发件人:
如果指定了[path]值,则可以从获取robots.txt文件的网站的根目录(使用相同的协议、端口号、主机和域名)相对查看路径值必须以“/”开头以指定根。路径区分大小写
所以,你应该写:
Disallow:
我正在使用Laravel进行我的应用程序。如果这是已知问题,请提前道歉。在刷新浏览器之前,我的系统工作正常。只有当我从主页刷新而不是从站点的其他页面刷新时,才会发生这种情况。它返回404
也许我错过了一件重要的事。这不会发生在我的本地服务器上,但只发生在我的VP上
下面是我的htaccess文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
我有以下.htaccess文件
RewriteEngine on
RewriteRule ^about$ about.html [NC]
RewriteRule (.*) index.php?url=$1 [L]
# Prevent loops
RewriteCond %{ENV:REDIRECT_STATUS} !200
# Map new URI to file
RewriteRule code/(.*) code.php?id=$1 [L]
第一条规则用about.html替换ab
我试图用.htaccess文件重写我的一些URL,但没有按预期工作
这是我的.htaccess文件中的重写规则:
RewriteRule ^(index|administration)/([A-Za-z0-9-]+)(\.php)?$ index.php?c=$1&t=$2 [QSA]
当我继续www.example.com/index/main时,我得到一个404错误代码。
所以我试着把我的重写规则改为
RewriteRule ^index.php$ index.php?c=inde