对于想了解mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php的读者,本文将是一篇不可错过的文章,我们将详细介绍remote_file_id,并且为您
对于想了解mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php的读者,本文将是一篇不可错过的文章,我们将详细介绍remote_file_id,并且为您提供关于.gitignore排除文件夹,但包括特定的子文件夹、.htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?、.htaccess – 无声地重写/redirect到内部子文件夹、.htaccess将所有子文件夹内容(有和没有结束斜杠)redirect到相同的子文件夹的有价值信息。
本文目录一览:- mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php(remote_file_id)
- .gitignore排除文件夹,但包括特定的子文件夹
- .htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?
- .htaccess – 无声地重写/redirect到内部子文件夹
- .htaccess将所有子文件夹内容(有和没有结束斜杠)redirect到相同的子文件夹
mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php(remote_file_id)
我需要创build以下规则放置在我的.htaccess中
首先,我想在主文件夹中删除文件(/)(如果requestedfile存在)
其次,我想在子文件夹 – > /子文件夹中search这个文件
如果文件不存在于第1点和第2点中,就像redirect请求一样,执行/index.PHP
什么是最好的方式来做到这一点。
感谢帮助 :)
ps第一点可以作为一个简单的解决scheme被淘汰。 所以如果用户inputurl /file.jpeg,服务器将会在/子文件夹中search这个文件,如果没有find这个文件,它会redirectrquest do index.PHP
为什么不是我的JavaScript和CSScaching?
在共享主机上的Symfony的htaccess
.htaccessredirecthttps到http不能正常工作
特殊字符和URL重写
添加过期标题没有mod_expires?
为什么如果我在我的htaccess的规则中join“ – ”破折号不起作用?
redirect规则与特殊字符
使用查询string将urlredirect到url友好的目录,例如url
HTTPS强制redirect不能在wordpress中工作
将旧url改写为漂亮的url,并使用.htaccessredirect旧url
我假设你的网址是这样的: somesite.com/subfolder/file.extension 。 如果URL不同,请提供详细信息。
将这添加到您的DocumentRoot的.htaccess 。
Options +FollowSymLinks -MultiViews -Indexes RewriteEngine on RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L] RewriteCond %{REQUEST_URI} ^/([w]+)/([w]+.[w]+)$ [NC] RewriteCond %{DOCUMENT_ROOT}/%2 -f RewriteRule ^ /%2 [NC,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ - [L] RewriteRule ^ /index.PHP [L]
改为适合OP的要求。
RewriteEngine on RewriteBase / RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L] RewriteCond %{REQUEST_URI} ([w]+.[w]+)$ [NC] RewriteCond %{DOCUMENT_ROOT}/%1 -f RewriteRule ^ /%1 [NC,L] RewriteCond %{REQUEST_URI} ([w]+.[w]+)$ [NC] RewriteCond %{DOCUMENT_ROOT}/subdir/%1 -f RewriteRule ^ /subdir/%1 [L] RewriteRule ^ /index.PHP [L]
这只是ThinkingMonkey概述的补充。 正如我所评论的,%变量只在下一个 cond或规则上可用。 然而,规则$变量对于conds和规则替换字符串都是可用的,因此规则2应该被写为(关于使用DOCUMENT_ROOT的相同注意事项):
RewriteCond %{DOCUMENT_ROOT}/$1 -f RewriteRule w+/(w+.w+)$ $1 [NC,L]
或者如果你想做相反的事情
RewriteCond %{DOCUMENT_ROOT}/subdir/$1 -f RewriteRule (w+.w+)$ subdir/$1 [NC,L]
总结
以上是小编为你收集整理的mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
.gitignore排除文件夹,但包括特定的子文件夹
我有文件夹application/
我添加到.gitignore
。 在application/
文件夹中是文件夹application/language/gr
。 如何包含此文件夹?
我已经试过了
application/
!application/language/gr/
没有运气...
#1楼
@Chris Johnsen的答案很好,但是对于较新版本的Git(1.8.2或更高版本),您可以利用双星号模式来获得更多速记解决方案:
# assuming the root folder you want to ignore is ''application''
application/**/*
# the subfolder(s) you want to track:
!application/language/gr/
这样,您不必“忽略”要跟踪的子文件夹的父目录。
对于Git 2.17.0(不确定此版本的发布时间。可能回到1.8.2之前的版本),对导致文件生成的每个子目录使用**
模式与excludes结合使用。 例如:
# assuming the root folder you want to ignore is ''application''
application/**
# Explicitly track certain content nested in the ''application'' folder:
!application/language/
!application/language/gr/
!application/language/gr/** # Example adding all files & folder in the ''gr'' folder
!application/language/gr/SomeFile.txt # Example adding specific file in the ''gr'' folder
#2楼
来自Karsten Blees(kblees)的Git 1.9 / 2.0 提交59856de (2014年第1季度)澄清了以下情况:
gitignore.txt
:阐明排除目录的递归性质
可选的前缀“
!
”,用于否定模式; 先前模式排除的所有匹配文件将再次包含在内。如果排除该文件的父目录,则无法重新包含该文件。 (
*
)
(*
:除非git 2.8+中满足某些条件,请参阅下文)
由于性能原因,Git不会列出被排除的目录,因此包含在文件上的任何模式(无论它们在何处定义)都无效。对于以文字“
!
”开头的模式,例如“\\!important!.txt
”,在第一个“!
”前面放置反斜杠(“\\
”)。排除特定目录
foo/bar
以外的所有内容的示例(请注意/*
-不带斜杠,通配符还将排除foo/bar
内的所有内容):
--------------------------------------------------------------
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
--------------------------------------------------------------
在您的情况下:
application/*
!application/**/
application/language/*
!application/language/**/
!application/language/gr/**
您必须先将文件夹列入白名单,然后才能将给定文件夹中的文件列入白名单。
2016年2月/ 3月更新:
请注意,在git 2.9.x / 2.10(2016年中?)下, 如果重新包含的路径中没有通配符,则如果排除了该文件的父目录,则可以重新包含该文件。
NguyễnTháiNgọcDuy( pclouds
)试图添加此功能:
- 提交 git v2.7.0的506d8f1,已在提交76b620d git v2.8.0-rc0中恢复
- 在5cee3493 git 2.8.0中恢复5e57f9c git v2.8.0-rc0,... reverted(!)
因此,使用git 2.9+可能确实有效,但最终被还原:
application/
!application/language/gr/
#3楼
关于此还有很多类似的问题,因此我将发布我之前写的内容:
我在计算机上使用此方法的唯一方法是这样做:
# Ignore all directories, and all sub-directories, and it''s contents:
*/*
#Now ignore all files in the current directory
#(This fails to ignore files without a ".", for example
#''file.txt'' works, but
#''file'' doesn''t):
*.*
#Only Include these specific directories and subdirectories:
!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/
!wordpress/*/wp-content/themes/*
!wordpress/*/wp-content/themes/*/*
!wordpress/*/wp-content/themes/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*/*
请注意,您必须如何明确允许要包含的每个级别的内容。 因此,如果我在主题下有5个子目录,则仍然需要清楚地说明。
这是来自@Yarin的评论: https : //stackoverflow.com/a/5250314/1696153
这些是有用的主题:
- 否定模式在.gitignore中如何工作?
- gitignore排除规则实际上如何工作?
我也试过
*
*/*
**/**
和**/wp-content/themes/**
或/wp-content/themes/**/*
这些都不对我有用。 大量的反复试验!
#4楼
因此,由于许多程序员都使用node。 满足此问题的用例是排除一个模块module-a
以外的node_modules
,例如:
!node_modules/
node_modules/*
!node_modules/module-a/
#5楼
走下目录结构以获取所需内容的另一个示例。 注意:我没有排除Library/
而是Library/**/*
# .gitignore file
Library/**/*
!Library/Application Support/
!Library/Application Support/Sublime Text 3/
!Library/Application Support/Sublime Text 3/Packages/
!Library/Application Support/Sublime Text 3/Packages/User/
!Library/Application Support/Sublime Text 3/Packages/User/*macro
!Library/Application Support/Sublime Text 3/Packages/User/*snippet
!Library/Application Support/Sublime Text 3/Packages/User/*settings
!Library/Application Support/Sublime Text 3/Packages/User/*keymap
!Library/Application Support/Sublime Text 3/Packages/User/*theme
!Library/Application Support/Sublime Text 3/Packages/User/**/
!Library/Application Support/Sublime Text 3/Packages/User/**/*macro
!Library/Application Support/Sublime Text 3/Packages/User/**/*snippet
!Library/Application Support/Sublime Text 3/Packages/User/**/*settings
!Library/Application Support/Sublime Text 3/Packages/User/**/*keymap
!Library/Application Support/Sublime Text 3/Packages/User/**/*theme
> git add Library
> git status
On branch master
Your branch is up-to-date with ''origin/master''.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: Library/Application Support/Sublime Text 3/Packages/User/Default (OSX).sublime-keymap
new file: Library/Application Support/Sublime Text 3/Packages/User/ElixirSublime.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/Package Control.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/RESTer.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/SublimeLinter/Monokai (SL).tmTheme
new file: Library/Application Support/Sublime Text 3/Packages/User/TextPastryHistory.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/ZenTabs.sublime-settings
new file: Library/Application Support/Sublime Text 3/Packages/User/adrian-comment.sublime-macro
new file: Library/Application Support/Sublime Text 3/Packages/User/json-pretty-generate.sublime-snippet
new file: Library/Application Support/Sublime Text 3/Packages/User/raise-exception.sublime-snippet
new file: Library/Application Support/Sublime Text 3/Packages/User/trailing_spaces.sublime-settings
.htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?
我希望我的访问者只能访问我的网站(博客)的特定部分。 如果他们尝试访问网站的其他区域,我希望他们redirect到博客部分。
我也希望这适用于除了我的IP地址的每个人。
所以结构如下:
mysite.com/blog // visitor access allowed
mod_rewrite {QUERY_STRING}
三.htaccess到期规则的区别
允许在Content Security Policy(CSP)中通过$ .getscript()插入file.js
RewriteCond以任意顺序匹配查询string参数
禁止您无权访问/在此服务器上。 服务器无法读取htaccess文件,拒绝访问是安全的
mysite.com // redirect to mysite.com/blog mysite.com/forum // redirect to mysite.com/blog mysite.com/tools // redirect to mysite.com/blog etc...
你有一个关于如何通过.htaccess mod_rewrite做这个build议吗?
漂亮的URL与.htaccess
剥离未列入白名单的URL中的任何参数
.htaccess平面链接的重写规则
摆脱CodeIgniterurl中的Index.PHP
保护目录免受直接的URL访问
您应该能够重定向到以下内容:
RewriteCond %{REMOTE_HOST} !^123.456.789 RewriteCond %{REQUEST_URI} !^/blog/? RewriteCond %{REQUEST_URI} /(.*)$ RewriteRule (.*) /blog [R=301,L]
你应该创建一个页面来处理特定的重定向,然后编辑你的htaccess文件是这样的:
Options +FollowSymlinks RewriteEngine on #not your IP RewriteCond %{REMOTE_HOST} !^123.123.123.123 #make sure the rule allows everyone to access the redirect page RewriteCond %{REQUEST_URI} !/redirect_page.html$ #Send them to the redirect page RewriteRule .html$ /redirect_page.html [R=302,L]
rediret_page.html可以使用js或服务器端重定向来处理它们最终的位置,但是它会强制每个没有通过处理重定向的特定页面来访问IP地址的人。
总结
以上是小编为你收集整理的.htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
.htaccess – 无声地重写/redirect到内部子文件夹
比方说,我有这个www.example.com网站结构:
/srv/http/ /srv/http/site/index.PHP /srv/http/site/stuff.PHP
我想要以下重写/redirect发生:
www.example.com/index.PHP – >redirect到 – > www.example.com/site/index.PHP – >但用户看到 – > www.example.com/index.PHP
www.example.com/stuff.PHP – >redirect到 – > www.example.com/site/stuff.PHP – >但用户看到 – > www.example.com/stuff.PHP
使用HTTP_HOST来标识以前的主机名称
Apache mod Rewrite:如何重写这些URL来制作干净的URL
修改重写THE_REQUEST和(REQUEST_URI或REQUEST_FILE)给不同的文件名 – 为什么?
将http和https请求redirect到新主机
如何从根redirect到子文件夹,重写子文件夹链接看起来像根,然后在htaccess中添加一些例外?
一般来说, www.example.com/之后的所有内容都会redirect到www.example.com/site/ 。 但用户在浏览器中看到原始URL。
我在互联网上四处张望,但还没有设法弄清楚在这个特定的情况下使用什么。
我试着重写一切:
RewriteEngine On RewriteRule ^$ /site [L]
但是index.PHP消失, www.example.com/site/显示给用户。
我如何使用.htaccess来解决这个问题?
国防部重写假的子域名?
Htaccess访问/下载
htaccess if语句
.htaccess RewriteRule添加到URL的驱动器path
在.htaccess中的不同协议的URL重写
您需要捕获传入服务器的url请求,如下所示:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/site/ RewriteRule ^(.*)$ /site/$1 [L,QSA]
QSA (最终)也将查询字符串追加到重写的url
与@guido建议的想法相同,但是使用负向预测缩短了一点
RewriteEngine On RewriteRule ^(?!site/)(.*)$ site/$1 [L]
注意:我没有使用QSA标志,因为我们没有向替换URL的查询字符串添加附加参数。 默认情况下,Apache将传递原始查询字符串以及替换URL。
http://www.example.com/index.PHP?one=1&two=2
将被内部重写为
http://www.example.com/site/index.PHP?one=1&two=2
如果你真的想在每个重写的查询字符串中添加一个特殊的参数(例如: mode=rewrite ),那么你可以使用QSA Query String Append标志
RewriteEngine On RewriteRule ^(?!site/)(.*)$ site/$1?mode=rewrite [L,QSA]
然后这将结合mode=rewrite与原始查询字符串
http://www.example.com/index.PHP?one=1&two=2
至
http://www.example.com/site/index.PHP?mode=rewrite&one=1&two=2
RewriteEngine On RewriteRule ^(.*)$ site/index.PHP?var=$1 [L]
有了这个规则,我把所有的请求传递给site / index.PHP,所以你可以通过$ _GET [''var'']得到请求的uri,然后你就可以让index.PHP在场景后面提供请求的url而不会在用户的浏览器中更改网址。 再见。
总结
以上是小编为你收集整理的.htaccess – 无声地重写/redirect到内部子文件夹全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
.htaccess将所有子文件夹内容(有和没有结束斜杠)redirect到相同的子文件夹
我想redirect以下url:
/gallery/image-1/ /gallery/image-1 /gallery/image-2/ /gallery/image-2
到/gallery/ ,但它比它看起来更难。 这是来自.htaccess:
RewriteEngine On RewriteRule ^gallery/(.*) /gallery/ [R=301,L,NC]
所有url最初都被redirect到/gallery/ ,但是它只是继续加载,显然这个url也在^gallery/(.*)之下,所以它会一直redirect到同一个URL。 几秒钟后,浏览器给我一个ERR_TOO_MANY_REDIRECTS消息。
如何编辑^gallery/(.*)语句以仅覆盖/gallery/ URL之后的某个URL?
htaccess重写到子域
htaccess自动检测域名
需要在.htaccess重写规则中转义#(哈希/磅)字符
当数据库中缺less项目时,PHP或htaccess使dynamicURL页面去404
请求超过了10个内部redirect的限制
503 htaccess文件只能部分工作
使用GET参数时,Apache Redirect 301失败,例如?blah =
recursionmod_rewritesearch引擎友好的url
如何将symfony /web/app.PHP移动到/root/app.PHP
Apache重写所有的pathindex.PHP
你应该在你的正则表达式中使用.+而不是.*来确保在URI为/gallery/时停止重定向:
RewriteEngine On RewriteRule ^(gallery)/.+$ /$1/ [R=301,NC]
总结
以上是小编为你收集整理的.htaccess将所有子文件夹内容(有和没有结束斜杠)redirect到相同的子文件夹全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
关于mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php和remote_file_id的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.gitignore排除文件夹,但包括特定的子文件夹、.htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?、.htaccess – 无声地重写/redirect到内部子文件夹、.htaccess将所有子文件夹内容(有和没有结束斜杠)redirect到相同的子文件夹等相关内容,可以在本站寻找。
本文标签: