我的情况是,我为一个客户做了一个新的网站,其url格式是http://newsite.com 。 客户的旧网站使用SSL,并具有URL格式https://www.oldsite.co.uk 。 SSL在新网站上不是必需的,因此尚未被使用。 旧网站在search引擎中的排名很好,因此,客户希望使用301redirect来捕获针对旧网页的任何请求,并将其转移到新网站上的等效页面上。 旧网站上的/contact.phpredirect到新的联系页面。 问题是,所有的search引擎已经索引每个url的https://版本,我需要redirect到一个非SSL,标准的http:// URL。 简而言之,我需要的是在前面用https://捕获任何传入的URL,并以某种方式改变它以查找此URL的http://版本。 我的.htaccess文件的内容: RewriteEngine on RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^nielbally\.co\.uk$ [OR] RewriteCond %{HTTP_HOST} ^www\.nielbally\.co\.uk$ RewriteRule ^/?$ "http\:\/\/artcourseswales\.com\/" [R=301,L]
我想在我的.htaccess上做一个可扩展的RewriteRule,我使用斜杠前的每个单词作为参数。 例如: http://localhost/mysite/param1/param2/param3/…/param20 我正在使用这个代码(但是如果我想要6或7个参数,它会太长): Options +FollowSymLinks RewriteEngine on DirectoryIndex web.php?param1=inicio RewriteRule ^([a-zA-Z0-9_-]+)$ web.php?param1=$1 RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ web.php?param1=$1¶m2=$2 下一个rewriteRules会更长一些^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$/([a-zA-Z0-9_-]+)$/([a-zA-Z0-9_-]+)$/([a-zA-Z0-9_-]+)$ web.php?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5 我将每个参数作为一个个体variables发送给php,并且我使用第一个参数来决定哪个页面必须显示在web.php上。 有什么办法可以缩短吗? 我不知道如何优化它。 我甚至不知道我是否正确。 你将如何做到这一点? 也许使用PHP? 谢谢。
我需要将以下.htaccessstring转换为nginxconfiguration: RewriteRule .* – [E=REMOTE_USER:%{HTTP:Authorization}] 谁能帮我? 我正在运行nginx + php_fpmconfiguration。
对不起,如果这之前已经问过,但我通过其他职位看,无法find我的答案。 WordPress的启动和运行在/ var / www / wordpress /然而,当我浏览到www.mysite.com我得到的文件和文件夹列表如下: 指数 / Name Last modified Size Description index.html 12-Mar-2013 18:31 177 wordpress/ 08-Jan-2012 17:01 – Apache / 2.2.22(Ubuntu)服务器在www.mysite.com端口80 如果我点击wordpress目录,我被带到我的网站。 我问了一个朋友,他说修改.htaccess但没有这样的名称在/ var / www / 我如何获得apache将我的默认主页/目录设置为/var/www/wordpress/(index.php)? 我试着取消注释ServerRoot“/ var / www / wordpress” 但是,这导致尝试重新启动Apache的错误: – 无法findports.conf – 无法findconf.d事情从那里走下坡… 我是否修改网站 – 可用/默认? 我修改apache.conf? 我添加一个.htaccess文件? 此外,由于这是一个新的设置,我如何确保安装,我读了很多人使用特制的.htaccess文件? 谢谢你的帮助! 网站的内容 – 可用/ wordpress: […]
我正在使用下面的.htaccess删除.html文件的扩展名,但如果有人input example.com/test 到它redirect到的浏览器 http://www.example.com/test.html 。 为什么.html被添加并且不被删除? RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^([^/]+)/$ $1.html
我注意到,RedirectMatch指令在redirect中保留查询string。 也就是说,如果http://www.mydomain.com/someurl?some=query匹配规则,那么它会被redirect到/ whatever / other / url?some = query在新的url中保留查询string。 我怎么告诉它不保存查询string,并redirect到/什么/其他/url没有任何查询string?
有没有反正我可以从site1.comredirect到site2.com没有在地址栏中的URL更改。 我已经尝试了不同的解决scheme,这些解决scheme主要针对同一个域中的redirect规则/条件。 没有可用的redirect到其他域的示例。 不幸的是我没有访问httpdconfiguration,由于共享托pipe计划哪个主机不会为我做。
我以前使用PHP构build网站,在Apache主机的.htaccess中使用以下行自动包含页眉和页脚html : php_value auto_prepend_file "/var/www/html/parts/header.htm" php_value auto_append_file "/var/www/html/parts/footer.htm" 在这些文件中,我可以把可执行的PHP代码。 我目前的项目是用Perl编写的,而不是用PHP编写的 。 有没有什么办法可以使用.htaccess自动添加和附加可执行的Perl文件?
我试图将所有用户的请求redirect到我的索引页面,除了根目录文件夹。 所以www.domain.com/page.ext是好的,而www.domain.com/folder/page.ext必须redirect。 这是我的.htaccess: RewriteEngine on RewriteRule ^([^/]+)/?$ /index.html [L] ErrorDocument 404 /index.html 它导致Internal Server Error ,我不知道为什么。 基本上我想强制用户在任何情况下都只访问index.html页面。 build议? 编辑: 只是为了给更多的信息,这是我的网站结构: / |– index.html |– css |– site.css |– js |– site.js |– images |– img1.png |– img2.png |– img3.png 正如你所看到的,它非常简单。 我需要做的是始终显示我的index.html (它使用css/site.css , js/site.js和图像在CSS中使用) 所以用户请求的页面不重要,我的站点必须显示索引一。 这意味着,即使在404错误的情况下,即使用户请求不存在的文件夹中的页面,也必须显示索引!
当我写.htaccess这个mod_rewrite RewriteEngine on RewriteRule ^(.*)\.my_extension$ $1.php 并打开url: site.com/index.my_extension这个wroks很好,打开了index.php 但是当我尝试像这样mod_rewrite: RewriteEngine on RewriteRule ^(.*)$ index.php?url=$1 这给我Internal Server Error 。 为何发生这种事? 是什么原因?