Questions tagged «url-rewriting»

URL重写引擎是用于修改Web URL外观(URL重写)的软件。重写的URL用于提供指向网页的更短和更相关的链接,将用户从过时的URL路由到替代URL,或简化URL的格式以提高可读性。该技术在用于生成网页的文件和呈现给全世界的URL之间增加了一定程度的分隔。


24
通用htaccess将www重定向到非www
我想重定向www.example.com到example.com。以下htaccess代码可实现此目的: RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] 但是,有没有一种方法可以以通用的方式而不用对域名进行硬编码?

8
什么时候应该在网址中使用斜杠?
URL中何时应使用斜杠?例如-我的网址应为/about-us/还是类似/about-us? 我完全意识到与SEO相关的问题-重复的内容和规范的事情;我正在尝试确定在投放页面的上下文中应该使用哪一个单独正确。 例如,我的同事认为末尾的斜线表示它是“文件夹”-“目录”,因此这不是正确的样式。但是我认为最后没有斜杠-也不太正确,因为它看起来几乎像一个文件夹,但它也不是普通文件,而是没有扩展名的文件名。 有知道使用哪个的正确方法吗?

6
.htaccess mod_rewrite-如何从重写规则中排除目录
我的.htaccess文件中有8行重写规则。我需要从这些规则中排除服务器上的两个物理目录,以便可以访问它们。目前,所有请求都发送到index.php文件。 要排除的目录:“ admin”和“ user”。 因此,不应将http请求:http: //www.domain.com/admin/传递到index.php文件。 ErrorDocument 404 /index.php?mod=error404 Options FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L] RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]

7
如何配置IIS以在HTML5模式下用URL重写AngularJS应用程序?
我有AngularJS种子项目,并添加了 $locationProvider.html5Mode(true).hashPrefix('!'); 到app.js文件。我想将IIS 7配置为将所有请求路由到 http://localhost/app/index.html 这样对我有用。我该怎么做呢? 更新: 我刚刚发现,下载并安装了IIS URL Rewrite模块,希望这将使实现我的目标变得容易且显而易见。 更新2: 我想这总结了我要实现的目标(摘自AngularJS Developer文档): 使用此模式需要在服务器端重写URL,基本上,您必须重写指向应用程序入口点的所有链接(例如index.html) 更新3: 我仍在努力,我意识到我不需要重定向(具有重写规则的)某些URL,例如 http://localhost/app/lib/angular/angular.js http://localhost/app/partials/partial1.html 因此,css,js,lib或partials目录中的所有内容都不会重定向。其他所有内容都需要重定向到app / index.html 任何人都知道如何轻松实现此目标而不必为每个文件添加规则? 更新4: 我在IIS URL重写模块中定义了2个入站规则。第一条规则是: 第二条规则是: 现在,当我导航到localhost / app / view1时,它会加载页面,但是支持文件(css,js,lib和partials目录中的文件)也将被重写到app / index.html页面中,因此一切都来了无论使用什么URL,都返回index.html页面。我想这意味着我的第一个规则(该规则应防止第二个规则处理这些URL)不起作用。...任何人?...我感觉很孤独... :-(

5
用PHP重写URL
我有一个网址,看起来像: url.com/picture.php?id=51 我将如何将该URL转换为: picture.php/Some-text-goes-here/51 我认为WordPress也是一样。 如何使用PHP创建友好的URL?

4
如何在NGINX中重定向URL
我需要将每个http://test.com请求重定向到http://www.test.com。如何才能做到这一点。 在服务器块中,我尝试添加 rewrite ^/(.*) http://www.test.com/$1 permanent; 但在浏览器中说 The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. 我的服务器块看起来像 server { listen 80; server_name test.com; client_max_body_size 10M; client_body_buffer_size 128k; root /home/test/test/public; passenger_enabled on; rails_env production; #rewrite …


5
如果找不到上游主机,则安装程序nginx不会崩溃
我们在Docker的通用域下有多个Rails应用程序,并且我们使用nginx将请求定向到特定的应用程序。 our_dev_server.com/foo # proxies to foo app our_dev_server.com/bar # proxies to bar 配置看起来像这样: upstream foo { server foo:3000; } upstream bar { server bar:3000; } # and about 10 more... server { listen *:80 default_server; server_name our_dev_server.com; location /foo { # this is specific to asset management in rails dev …

17
如何检查是否在服务器上启用了mod_rewrite?
目前,我正在将主机与lightspeed服务器一起使用。托管说mod_rewrite已启用,但我无法在那里运行脚本。每当我尝试访问URL时,它都会返回404-找不到页面。 我将相同的代码放在另一台运行Apache的服务器上。它在那边工作。所以我想这是.htaccess和mod_rewrite问题。 但是托管支持仍然坚持要求我启用他们的mod_rewrite,因此我想知道如何检查它是否真正启用。 我试着核对一下phpinfo(),但没有运气,我找不到mod_rewrite那里,是因为他们正在使用lightspeed吗? 有什么办法可以检查吗?请帮帮我。谢谢。 仅供参考:我的.htaccess代码是 Options -Indexes <IfModule mod_rewrite.c> DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] </IfModule> 我也这样尝试过 DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 但结果相同。


1
IIS URL重写{R:N}的说明
我无法了解{R:N}的目的。任何人都可以澄清何时使用 {R:0}vs.{R:1} 用法示例: <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" /> 我看过使用{R:1}的ScottGu http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx 而下面有{R:0} http://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx 看了下面的IIS链接,但不能完全理解下面的定义: 条件模式的后向引用由{C:N}标识,其中N为0到9; N为0。规则模式的反向引用由{R:N}标识,其中N为0到9。请注意,对于两种类型的反向引用,{R:0}和{C:0}都将包含匹配的字符串

13
urlencoded正斜杠破坏URL
关于系统 我的专案中有这种格式的网址: http://project_name/browse_by_exam/type/tutor_search/keyword/class/new_search/1/search_exam/0/search_subject/0 关键字/类别对表示使用“类别”关键字进行搜索。 我有一个通用的index.php文件,该文件针对项目中的每个模块执行。只有重写规则才能从URL中删除index.php:- RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA] 我在准备搜索URL时使用urlencode(),在阅读搜索URL时使用urldecode()。 问题 仅正斜杠字符破坏了URL,导致404页面未找到错误。例如,如果我搜索one/two的网址是 http://project_name/browse_by_exam/type/tutor_search/keyword/one%2Ftwo/new_search/1/search_exam/0/search_subject/0/page_sort/ 我该如何解决?我需要将index.php隐藏在URL中。否则,如果不需要,正斜杠将没有问题,我可以使用以下URL:- http://project_name/index.php?browse_by_exam/type/tutor_search/keyword/one %2Ftwo/new_search/1/search_exam/0/search_subject/0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.