Articles of .htaccess

更改php.ini中的session.save_path不起作用

Fedora 25 + PHP 7 + Apache 2.4.23 您好,我更改php.ini中的session.save_path并重新启动apache后,我可以成功validation它是修改: $ php -i | grep session.save_path 但是,在html / php页面本身,会话不是写在session.save_path中,而是固定地写在/ var / lib / php / session /中。 即使在.htaccess中设置值也不起作用: php_value session.save_path "/mycustom/path/folder" 唯一可以覆盖默认/ var / lib / php / session /的工作解决scheme是在php文件本身中设置值: ini_set('session.save_path','/mycustom/path/folder'); 有任何想法吗?

如何redirect其中有空间的url

我从这个URLredirect www.example.com/article.php?id=12&title=some-title 到这个URL www.example.com/article/12/some-title 使用这些URL重写规则 RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /(article)\.php\?id=(\d+)&title=([\w-]+)\ HTTP RewriteRule ^article\.php$ /%1/%2/%3? [R=301,L] RewriteRule ^article/(\d+)/([\w-]+)$ article.php?id=$1&title=$2[R=301,L] 但是,例如,如果URL中有一个空格 www.example.com/article.php?id=12&title=some%20title 那么上面的规则将不起作用。 我怎样才能让这个URL使用上面提到的规则只使用.htaccess ?

请审查/改善我的.htaccess非www到www重写计划

运行WP多站点,客户端可以使用自己的域名。 很好的工作 – 除了客户端不使用我的名称服务器,只是有一个指向WP静态IP地址的Alogging的情况。 当客户端DNS有大量服务logging(例如Office 365)时,有时会发生这种情况,将DNS留在那里更安全。 当我控制DNS时,我可以将非WWW别名到WWW,这使WP多站点感到高兴。 当客户端刚刚使用Alogging指针时,WP多站点在传入的非WWW请求中跳转,并落在多站点的注册页面上。 它真的需要'万维网',工作正确(不幸)。 我通过在.htaccess中这样做解决每个客户: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com [NC] RewriteRule ^(.*) http://www.example.com/$1 [L,R=301] </IfModule> 迄今为止似乎工作很好。 问题: 这个方法看起来是否合理? 鉴于我所看到的问题,有没有更好的方法来处理这个问题? 如果我想使这个重写通用来处理任何传入域(只要该域不包括我的基地多站点域名!) – 有人可以告诉我如何形成条件/规则? 我喜欢硬编码的实际领域,因为这保证没有别的被触动,但我会想象一旦我有几百这些可能会变得愚蠢。

htaccessredirectHTML响应的编码

我在httpd.conf中将Apache 2.4服务器设置为AddDefaultCharset utf-8 ,我的.htaccess文件将所有非www和httpredirect到https://www.example.com RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [OR] RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https//www.example.com/$1 [R=301,L,NE] 如果我查看HTTP响应头,只有发送到https://www.example.comstream量生成UTF-8响应。 非www和httpstream量使用ISO-8859-1字符集进行响应。 任何人都知道如何确保所有的URLredirectHTTP响应是UTF-8?

网站卡在redirect循环后使用后cloudflare

我的网站https://stage.issufy.com/ ,设置ssl后,我得到302redirect循环。 这里是htaccess文件 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder… RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] </IfModule> 这里是http: <VirtualHost […]

用VPS上的WordPressredirect循环

我已经在VPS上设置了一个WordPress和DNS来将域名redirect到我的服务器。 但是我很难隐藏服务器的IP地址。 实际上,当我从我的域名redirect到服务器时,URL从www.example.com/wordpress更改为XXXXXX/wordpress ( XXXXXX是IP地址)。 所以我试图改变域名的设置中的网站的URL。 不过,我陷入了服务器和域名之间的循环。 在设置中,我将其更改为http://www.example.com/wordpress而不是http://XXXXXX/wordpress 这是我的VirtualHost的configuration: /etc/apache2/sites-available/default NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName example ServerAlias example.com *.example.com DocumentRoot /var/www/ ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined <Directory /var/www/wordpress/> Order deny,allow Allow from all Satisfy any </Directory> </VirtualHost> 在这里我的.htaccess /var/www/wordpress/.htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond […]

Htaccess规则修改URLpath

我的一个客户有一个网站,作为example.com 。 他希望以example.com/pl的forms提供服务,为未来的英文网站版本保存根path。 我想知道这是否可以使用.htaccess规则。 当前.htaccess如下所示: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ – [NC,L] RewriteRule ^.*$ index.php [NC,L] 规则可以改变,以达到客户的期望? 如果是这样,怎么样?

有人可以绕过.htaccess文件而不修改它?

我将一些敏感数据存储在名为/data/的文件夹中。 该文件夹包含一些文件和一个子目录。 子目录包含敏感数据的修改版本,具有相同的文件名。 所以我有/data/file.exe和/data/modified/file.exe 。 我已经在.htaccess文件中设置了一些规则来阻止从服务器以外的任何访问到/data/文件夹,而不是/data/modified/ 。 由于文件名相同,任何有权访问/data/modified/文件夹的人都知道原始文件存在于/data/ ,并且名称相同。 现在的问题是,这是安全的吗? 任何人都可以覆盖这些规则,并有权访问这些文件,而不必进入服务器或修改.htaccess文件? 我知道你可以做任何事情,一旦你有权访问服务器。 我在Windows Server 2008上使用Apache Web服务器V.2.4,但可能会转移到CentOS上的LiteSpeed。 PS:请告诉我,如果这是错误的地方/格式问这个问题,所以我可以移动,编辑或删除它。 谢谢。

一个重写规则或htaccess中的多个规则

我有一个主域,几个附加域,最近去了HTTPS。 这对我来说可行,但我希望你的意见: ## All http requests to the relative https url RewriteCond %{SERVER_PORT} 80 [OR] ## redirect the other domains and the non www main main domain RewriteCond %{HTTP_HOST} ^domain3.com [OR] RewriteCond %{HTTP_HOST} ^www.domain3.com [OR] RewriteCond %{HTTP_HOST} ^domain2.com [OR] RewriteCond %{HTTP_HOST} ^www.domain2.com [OR] RewriteCond %{HTTP_HOST} ^maindomain.com ## this stuff is for SSL RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ […]

.htaccess重新映射在不同子域上的redirect

我试图让我的AngularJS应用程序可以通过社交networking发现,我碰到以下github页面: https://github.com/michaelbromley/angular-social-demo 但是我被卡在.htaccess步骤。 下面的代码被用于将facebook / twitter / google botredirect(使用重新映射)到不同的URL(在同一个域中): <ifModule mod_rewrite.c> RewriteEngine On # allow social media crawlers to work by redirecting them to a server-rendered static version on the page RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Twitterbot|Pinterest|Google.*snippet) RewriteRule album/(\d*)$ http://www.michaelbromley.co.uk/experiments/angular-social-demo/server/static-page.php?id=$1 [P] </ifModule> 我正在尝试做什么,和他所做的非常相似,但是,我的API是一个子域。 使用不同的子域时, .htaccess可能会重映射吗? 例: http://www.example.com/test/123重新映射到http://api.example.com/title/test/123 ,并将浏览器url保存为http://www.example.com/test/123 。